Thau
Mitglied
Hi, ich wollte mit folgender Funktion meine WebRequests machen.
Wenn ich damit eine Abfrage mache bekomme ich zwar den Quelltext und die Cookies der Seite ausgegeben nur würde ich die Cookies auch gerne weiter verwenden. Also das ich z.B. eine Abfrage machen zum einloggen, dann den Cookie anlege und danach mit dem Cookie weitere abfragen machen kann.
Code:
Dim cookieContainer As CookieContainer = New CookieContainer()
Private Function Request(ByVal URL as String, ByVal PostData as String) as String
Dim request As HttpWebRequest
Dim response As HttpWebResponse
Dim str, str2 As IO.Stream
Dim buffer As String
Dim data As Byte() = System.Text.Encoding.ASCII.GetBytes(PostData)
request = Net.WebRequest.Create(URL)
request.CookieContainer = cookieContainer
request.Method = "POST"
request.Accept = "*/*"
request.Headers.Add(Net.HttpRequestHeader.AcceptLanguage, "de")
request.Headers.Add("UA-CPU", "x86")
request.Headers.Add(Net.HttpRequestHeader.AcceptEncoding, "gzip, deflate")
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30618) "
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = data.Length
str2 = request.GetRequestStream()
str2.Write(data, 0, data.Length)
str2.Close()
response = request.GetResponse
str = response.GetResponseStream()
If response.Cookies IsNot Nothing AndAlso response.Cookies.Count <> 0 Then
For Each cookie As Cookie In response.Cookies
MessageBox.Show(cookie.ToString)
Next
Else
' No cookie
End If
If (response.ContentEncoding.ToLower().Contains("gzip")) Then
str = New IO.Compression.GZipStream(str, IO.Compression.CompressionMode.Decompress)
ElseIf (response.ContentEncoding.ToLower().Contains("deflate")) Then
str = New IO.Compression.DeflateStream(str, IO.Compression.CompressionMode.Decompress)
End If 'Fall der Server die Page in GZIP / Deflate zurück gibt dann habt hier einen Decoder
buffer = New IO.StreamReader(str, System.Text.Encoding.ASCII).ReadToEnd
return buffer
End Function
Wenn ich damit eine Abfrage mache bekomme ich zwar den Quelltext und die Cookies der Seite ausgegeben nur würde ich die Cookies auch gerne weiter verwenden. Also das ich z.B. eine Abfrage machen zum einloggen, dann den Cookie anlege und danach mit dem Cookie weitere abfragen machen kann.