我使用Webbrowser控件进行导航,但遇到“对象引用未设置为对象的实例”。在下面。一直在谷歌上搜索但无济于事。请帮忙。
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
WebBrowser1.Document.Cookie = "test=1234" 'Error line
WebBrowser1.Navigate("www.yahoo.com")
End Sub
End Class
答案 0 :(得分:2)
如果您确实想要设置cookie,那么正确的方法是使用InternetSetCookie API。
[DllImport("wininet.dll", CharSet=CharSet.Auto , SetLastError=true)]
private static extern bool InternetSetCookie (string url, string name, string data);
public static bool SetWinINETCookieString(string sURL, string sName, string sData)
{
return InternetSetCookie(sURL, sName, sData);
}
这实际上会设置cookie,而不是简单地破坏你的HTTP头。
答案 1 :(得分:0)
您的WebBrowser.Document在导航之前可能是一个空引用(Nothing)!
编辑: 您可以使用接受请求标头的this Navigate variant请求网址。 所以只需使用
WebBrowser1.Navigate(url, Nothing, Nothing, "Cookie: test=1234")
答案 2 :(得分:0)
我也尝试过,当我把饼干弄不清楚的时候。
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
WebBrowser1.Navigate("about:blank")
WebBrowser1.Document.Cookie = "test=1234"
WebBrowser1.Navigate("www.yahoo.com")
End Sub
结束班