Website-Login mittels HttpWebRequest und HttpWebResponse

15/12/2008 - 00:03 von Daniel Zuidinga | Report spam
Hallo NG,
ich möchte mich auf einer Website einloggen um dort Private Daten
einlesen zu können. Eigentlich müsste es doch wie folgt funktionieren
oder? Leider funktioniert es aber nicht, dh, es wird mir nicht die Seite
zurückgegeben, die ich nach einem normalen Login im Browser habe.


string postData = "user=****&password=****";
HttpWebRequest request =
(HttpWebRequest)WebRequest.Create("http://connectedy.com/login-form.php");
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = postData.Length;
request.Method = "POST";

Stream requestStream = request.GetRequestStream();
byte[] postBytes = Encoding.ASCII.GetBytes(postData);
requestStream.Write(postBytes, 0, postBytes.Length);
requestStream.Close();

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

Console.WriteLine("Statuscode: " + response.StatusCode);
Console.WriteLine("Server: " + response.Server);
Stream answer = response.GetResponseStream();
StreamReader _answer = new StreamReader(answer);

// gibt leider nicht Seite nach erfolgreichen Login aus
webBrowser1.DocumentText = _answer.ReadToEnd();


vielleicht kann mir jemand helfen?
Gruß
Daniel
 

Lesen sie die antworten

#1 Frank Dzaebel
15/12/2008 - 07:04 | Warnen spam
Hallo Daniel,

Leider funktioniert es aber nicht, dh, es wird mir nicht die
Seite zurückgegeben, die ich nach einem normalen Login im Browser habe.



Je nach der vom Server unterstützten Authentifizierung
benutzt man z.B. die:

[WebRequest.PreAuthenticate-Eigenschaft (System.Net)]
http://msdn.microsoft.com/de-de/lib...icate.aspx

um die NetworkCredential's in der Credentials-Eigenschaft
des Webrequest's mitzusenden, ohne auf eine Aufforderung
durch den Server zu warten.
Wobei ja folgendes für Dich schon funktionierte:
http://groups.google.com/group/micr...1ccfe08305

Siehe ggf. auch:

[A POST or PUT request may fail when you use the HttpWebRequest class to
send lots of data on a computer that is running the .NET Framework]
http://support.microsoft.com/kb/908573/en-us


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen