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
372 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 :

<code class="language-csharp">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"];</code>
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 :

<code class="language-csharp">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();
}</code>
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 :

<code class="language-csharp">using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
    string pageSource = sr.ReadToEnd();
}</code>
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!

source:php.cn
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