是这样,我需要从WebBrowser传递登陆后的cooike传递到HttpWebRequest,结果发现没有传递过去。
我是这样做的:一个Http.vb类,其中部分代码:Public Class Http
... Private _cookieContainer As New CookieContainer Public Property CookieContainer()
Get
Return _cookieContainer
End Get
Set(ByVal value)
_cookieContainer = value
End Set
End Property
Public Function GetHttp(Byval url as String)
...
Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
req.CookieContainer = _cookieContainer
...End...End ClassForm1.vb 含有WebBrowser1控件,button1 按钮(使用GetHttp执行登陆后传递过来的cookie命令)Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompletedDim cookieStr As String = WebBrowser1.Document.Cookie
TextBox2.AppendText(cookieStr & vbCrLf) Dim cookstr As String() = cookieStr.Split(";")
For Each str As String In cookstr
Dim cookieNameValue As String() = str.Split("=")
Dim ck As New Cookie(cookieNameValue(0).Trim().ToString(), cookieNameValue(1).Trim().ToString())
ck.Domain = WebBrowser1.Document.Domain
myCookieContainer.Add(ck)
Next
End Sub
Private myCookieContainer As New CookieContainer()
Dim myHttpClass As New Http()Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
myHttpClass.CookieContainer = myCookieContainer Me.TextBox1.Text = myHttpClass.Get("http://。。")
''
End Sub
我是这样做的:一个Http.vb类,其中部分代码:Public Class Http
... Private _cookieContainer As New CookieContainer Public Property CookieContainer()
Get
Return _cookieContainer
End Get
Set(ByVal value)
_cookieContainer = value
End Set
End Property
Public Function GetHttp(Byval url as String)
...
Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
req.CookieContainer = _cookieContainer
...End...End ClassForm1.vb 含有WebBrowser1控件,button1 按钮(使用GetHttp执行登陆后传递过来的cookie命令)Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompletedDim cookieStr As String = WebBrowser1.Document.Cookie
TextBox2.AppendText(cookieStr & vbCrLf) Dim cookstr As String() = cookieStr.Split(";")
For Each str As String In cookstr
Dim cookieNameValue As String() = str.Split("=")
Dim ck As New Cookie(cookieNameValue(0).Trim().ToString(), cookieNameValue(1).Trim().ToString())
ck.Domain = WebBrowser1.Document.Domain
myCookieContainer.Add(ck)
Next
End Sub
Private myCookieContainer As New CookieContainer()
Dim myHttpClass As New Http()Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
myHttpClass.CookieContainer = myCookieContainer Me.TextBox1.Text = myHttpClass.Get("http://。。")
''
End Sub
Dim cookstr As String() = cookieStr.Split(";")
For Each str As String In cookstrNext
放在Button3_Click里试试