Heim >Backend-Entwicklung >C++ >Wie authentifiziert man Web Scraping in C# mithilfe von POST- und GET-Anfragen?
C# Web Scraping-Authentifizierung: Ein praktischer Leitfaden für POST- und GET-Anfragen
Web-Scraping-geschützte Websites erfordern eine Benutzerauthentifizierung. In dieser Anleitung wird detailliert beschrieben, wie Sie sich mit C# bei einer Website anmelden und dabei typische Einschränkungen von Bibliotheken höherer Ebenen umgehen. Wir konzentrieren uns auf die Verwendung von WebRequest
und WebResponse
zur präzisen Steuerung von HTTP-Anfragen.
Voraussetzungen:
Implementierungsschritte:
Die Authentifizierung umfasst zwei wichtige Schritte:
Anmeldeinformationen posten:
WebRequest
mit der POST-Methode, dem Inhaltstyp („application/x-www-form-urlencoded“) und der Datenlänge.Geschützte Inhalte erhalten:
WebRequest
für die geschützte Seite.StreamReader
, um den HTML-Quellcode der Seite abzurufen und zu verarbeiten.Codebeispiel:
Dieses Beispiel zeigt das Anmelden und Abrufen einer geschützten Seite:
<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>
Dieser Code veranschaulicht den gesamten Authentifizierungsprozess: Senden der POST-Anfrage, Abrufen des Cookies und Verwenden dieses Cookies, um über eine GET-Anfrage auf den geschützten Inhalt zuzugreifen. Denken Sie daran, "your email"
und "your password"
durch tatsächliche Anmeldeinformationen zu ersetzen. Für robuste Anwendungen sollte eine Fehlerbehandlung (z. B. für ungültige Anmeldeinformationen) hinzugefügt werden.
Das obige ist der detaillierte Inhalt vonWie authentifiziert man Web Scraping in C# mithilfe von POST- und GET-Anfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!