Authentification C# Web Scraping : un guide pratique des requêtes POST et GET
Les sites Web protégés par le Web scraping nécessitent une authentification de l'utilisateur. Ce guide explique comment se connecter à un site Web à l'aide de C#, en contournant les limitations typiques des bibliothèques de niveau supérieur. Nous nous concentrerons sur l'utilisation de WebRequest
et WebResponse
pour un contrôle précis des requêtes HTTP.
Prérequis :
Étapes de mise en œuvre :
L'authentification implique deux étapes clés :
Identifiants de connexion POSTing :
WebRequest
avec la méthode POST, le type de contenu ("application/x-www-form-urlencoded") et la longueur des données.OBTENIR du contenu protégé :
WebRequest
pour la page protégée.StreamReader
pour récupérer et traiter le code source HTML de la page.Exemple de code :
Cet exemple montre la connexion et la récupération d'une page protégée :
<code class="language-csharp">string loginUrl = "http://www.mmoinn.com/index.do?PageModule=UsersAction&Action=UsersLogin"; string loginParams = string.Format("email_address={0}&password={1}", "your email", "your password"); string cookieHeader; WebRequest loginRequest = WebRequest.Create(loginUrl); loginRequest.ContentType = "application/x-www-form-urlencoded"; loginRequest.Method = "POST"; byte[] data = Encoding.ASCII.GetBytes(loginParams); loginRequest.ContentLength = data.Length; using (Stream requestStream = loginRequest.GetRequestStream()) { requestStream.Write(data, 0, data.Length); } WebResponse loginResponse = loginRequest.GetResponse(); cookieHeader = loginResponse.Headers["Set-cookie"]; string protectedPageUrl = "http://www.mmoinn.com/protected_page.html"; WebRequest protectedRequest = WebRequest.Create(protectedPageUrl); protectedRequest.Headers.Add("Cookie", cookieHeader); WebResponse protectedResponse = protectedRequest.GetResponse(); using (StreamReader reader = new StreamReader(protectedResponse.GetResponseStream())) { string pageSource = reader.ReadToEnd(); // Process the protected page's HTML }</code>
Ce code illustre le processus d'authentification complet : envoi de la requête POST, récupération du cookie et utilisation de ce cookie pour accéder au contenu protégé via une requête GET. N'oubliez pas de remplacer "your email"
et "your password"
par de véritables informations d'identification. La gestion des erreurs (par exemple, pour les informations d'identification non valides) doit être ajoutée pour les applications robustes.
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!