HttpWebRequest mit Cookies

09/05/2008 - 08:15 von Adrian Stern | Report spam
Hallo

Ich möchte eine Website herunter laden.
Dies Funktioniert grundsàtzlich wuderbar mit dem WebClient aber auch mit
HttpRequest habe ich das hinbekommen.

Das Problem ist, dass ich nur den richtigen Inhalt bekomme, wenn ich ein
passendes Cookie mitsende.
Ist so ne art Remember me Funktion ... ich sollte also angemeldet sein.

Wie mache ich das?

Hier mal etwas Code:


CODE==// used to build entire input
StringBuilder sb = new StringBuilder();

// used on each read operation
byte[] buf = new byte[8192];

// prepare the web page we will be asking for
HttpWebRequest request (HttpWebRequest)WebRequest.Create("http://xxxxxxxxxxxxxxxxx.php");

// try to add some Cookies
Cookie c1 = new Cookie();
c1.Name = "POSTNUKESID";
c1.Value = "15axxxxxxxxxxx149xxxxcf5";
c1.Domain = "www.xxxxxxxxx.de";
c1.Path = "/";
c1.Secure = false;

request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(c1);

// execute the request
HttpWebResponse response (HttpWebResponse)request.GetResponse();

// we will read data via the response stream
Stream resStream = response.GetResponseStream();

string tempString = null;
int count = 0;

do
{
// fill the buffer with data
count = resStream.Read(buf, 0, buf.Length);

// make sure we read some data
if (count != 0)
{
// translate from bytes to ASCII text
tempString = Encoding.ASCII.GetString(buf, 0, count);

// continue building the string
sb.Append(tempString);
}
}
while (count > 0); // any more data to read?

// print out page source
Console.WriteLine(sb.ToString());
/CODE=
Bei try to add some Cookies, versuche ich das Cookie an zu hàngen ...
rsp. auf die selbe Art mehrere.

Die Cookie Informationen habe ich vom FF Addon WebDevloper und es sind
ja eigendlich FF Cookies.

Die Seite gibt mir jedenfalls zu verstehehn, dass sie nicht das / die
Benötigten Cookies bekommt.
 

Lesen sie die antworten

#1 Adrian Stern
09/05/2008 - 14:39 | Warnen spam
Ach mist ... icht habs.

Lösung: einfach die RICHTIGE URL angeben (Frames) ...

Adrian Stern schrieb:
Hallo

Ich möchte eine Website herunter laden.
Dies Funktioniert grundsàtzlich wuderbar mit dem WebClient aber auch mit
HttpRequest habe ich das hinbekommen.

Das Problem ist, dass ich nur den richtigen Inhalt bekomme, wenn ich ein
passendes Cookie mitsende.
Ist so ne art Remember me Funktion ... ich sollte also angemeldet sein.

Wie mache ich das?

Hier mal etwas Code:


CODE==> // used to build entire input
StringBuilder sb = new StringBuilder();

// used on each read operation
byte[] buf = new byte[8192];

// prepare the web page we will be asking for
HttpWebRequest request > (HttpWebRequest)WebRequest.Create("http://xxxxxxxxxxxxxxxxx.php");

// try to add some Cookies
Cookie c1 = new Cookie();
c1.Name = "POSTNUKESID";
c1.Value = "15axxxxxxxxxxx149xxxxcf5";
c1.Domain = "www.xxxxxxxxx.de";
c1.Path = "/";
c1.Secure = false;

request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(c1);

// execute the request
HttpWebResponse response > (HttpWebResponse)request.GetResponse();

// we will read data via the response stream
Stream resStream = response.GetResponseStream();

string tempString = null;
int count = 0;

do
{
// fill the buffer with data
count = resStream.Read(buf, 0, buf.Length);

// make sure we read some data
if (count != 0)
{
// translate from bytes to ASCII text
tempString = Encoding.ASCII.GetString(buf, 0, count);

// continue building the string
sb.Append(tempString);
}
}
while (count > 0); // any more data to read?

// print out page source
Console.WriteLine(sb.ToString());
/CODE=>
Bei try to add some Cookies, versuche ich das Cookie an zu hàngen ...
rsp. auf die selbe Art mehrere.

Die Cookie Informationen habe ich vom FF Addon WebDevloper und es sind
ja eigendlich FF Cookies.

Die Seite gibt mir jedenfalls zu verstehehn, dass sie nicht das / die
Benötigten Cookies bekommt.

Ähnliche fragen