Maison > développement back-end > C++ > Comment se connecter par programme à un site Web en utilisant C# ?

Comment se connecter par programme à un site Web en utilisant C# ?

DDD
Libérer: 2025-01-18 09:36:10
original
459 Les gens l'ont consulté

Écrire un script de connexion au site Web en utilisant C#

Problème : Mon web scraper nécessite qu'un utilisateur connecté accède au code source spécifique sur le site Web. Comment puis-je implémenter la fonctionnalité de connexion dans mon programme pour contourner cette restriction ?

Réponse : Pour vous connecter au site Web spécifié (mmoinn.com/index.do?PageModule=UsersLogin), vous pouvez suivre les étapes ci-dessous :

1. Envoyez une demande POST au formulaire de connexion

Formatez vos identifiants de connexion dans le formulaire POST :

string formUrl = "http://www.mmoinn.com/index.do?PageModule=UsersAction&Action=UsersLogin";
string formParams = string.Format("email_address={0}&password={1}", "您的邮箱地址", "您的密码");

WebRequest req = WebRequest.Create(formUrl);
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";

byte[] bytes = Encoding.ASCII.GetBytes(formParams);
req.ContentLength = bytes.Length;

using (Stream os = req.GetRequestStream())
{
    os.Write(bytes, 0, bytes.Length);
}

WebResponse resp = req.GetResponse();
string cookieHeader = resp.Headers["Set-cookie"];
Copier après la connexion

2. Obtenez la page de connexion

Créez une requête GET sur la page souhaitée contenant l'en-tête du cookie que vous avez récupéré à partir du formulaire de connexion :

string getUrl = "登录后页面的URL";
WebRequest getRequest = WebRequest.Create(getUrl);
getRequest.Headers.Add("Cookie", cookieHeader);
WebResponse getResponse = getRequest.GetResponse();

using (StreamReader sr = new StreamReader(getResponse.GetResponseStream()))
{
    string pageSource = sr.ReadToEnd();
}
Copier après la connexion

Notes supplémentaires :

Si vous souhaitez vérifier la réponse du POST de connexion, vous pouvez ajouter les lignes de code suivantes :

using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
    string pageSource = sr.ReadToEnd();
}
Copier après la connexion

Vérifiez la chaîne pageSource pour vérifier la réponse du serveur.

How to Programmatically Log In to a Website Using C#?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal