Avatar billede tetrix Nybegynder
25. oktober 2009 - 16:30 Der er 5 kommentarer og
1 løsning

WebClient - Læs cookies

Hejsa.

Hvordan kan jeg med en WebClient læse cookies, efter jeg eksempelvis har indlæst en url?

Tak! :)
Avatar billede arne_v Ekspert
25. oktober 2009 - 16:43 #1
Jeg mener at du skal bruge (Http)WebRequest og CookieContainer i.s.f. WebClient.
Avatar billede tetrix Nybegynder
25. oktober 2009 - 16:48 #2
Har ikke før arbejdet med HttpWebRequest eller CookieContainer, kunne du give et eksempel på, hvordan jeg med HttpWebRequest kan bruge POST method og derefter læse cookies?
Avatar billede arne_v Ekspert
25. oktober 2009 - 17:03 #3
Først et eksempel med GET:

Imports System
Imports System.IO
Imports System.Net

Namespace E
    Public Class Program
        Public Shared Sub Main(args As String())
            Dim req As HttpWebRequest = CType(WebRequest.Create("http://www.projo.com/"), HttpWebRequest)
            req.CookieContainer = New CookieContainer
            Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
            For Each c As Cookie In req.CookieContainer.GetCookies(New Uri("http://www.projo.com/"))
                Console.WriteLine("name=" & c.Name & " value=" & c.Value & " expires=" & c.Expires)
            Next
            Dim sr As StreamReader = New StreamReader(resp.GetResponseStream())
            Dim content As String = sr.ReadToEnd
            Console.WriteLine(content)
            Console.ReadKey()
        End Sub
    End Class
End Namespace
Avatar billede arne_v Ekspert
25. oktober 2009 - 17:08 #4
Og så et med POST:

Imports System
Imports System.IO
Imports System.Net

Namespace E
    Public Class Program
        Public Shared Sub Main(args As String())
            Dim req As HttpWebRequest = CType(WebRequest.Create("http://arne/htbin/tell2"), HttpWebRequest)
            req.CookieContainer = New CookieContainer
            req.Method = "POST"
            req.ContentType = "application/x-www-form-urlencoded"
            Dim sw As StreamWriter = New StreamWriter(req.GetRequestStream())
            sw.Write("field1=value1&field2=value2")
            sw.Close()
            Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
            For Each c As Cookie In req.CookieContainer.GetCookies(New Uri("http://arne/htbin/tell2"))
                Console.WriteLine("name=" & c.Name & " value=" & c.Value & " expires=" & c.Expires)
            Next
            Dim sr As StreamReader = New StreamReader(resp.GetResponseStream())
            Dim content As String = sr.ReadToEnd
            Console.WriteLine(content)
            Console.ReadKey()
        End Sub
    End Class
End Namespace
Avatar billede tetrix Nybegynder
25. oktober 2009 - 17:15 #5
Tak - og så mangler vi bare et svar! :-)
Avatar billede arne_v Ekspert
25. oktober 2009 - 17:22 #6
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester