我试图向网站发送请求,但它一直告诉我我的cookie没有启用。 (但我确实在我的代码中使用了cookiecontainer)
以下是代码:
Private Function does_it_asks_for_cookies() As Boolean
Dim url As String = "https://www.myhabit.com/?hash="
Dim req As Net.HttpWebRequest = Net.HttpWebRequest.Create(URL)
req.CookieContainer = New CookieContainer
req.ContentType = "application/x-www-form-urlencoded"
Dim res As Net.HttpWebResponse = req.GetResponse()
Dim strm As New IO.StreamReader(res.GetResponseStream())
Dim html As String = strm.ReadToEnd()
strm.Dispose()
res.Dispose()
If html.Contains("To continue shopping at Amazon.com, please enable cookies in") Then
Return True
Else
Return False
End If
End Function
用法:MsgBox(does_it_asks_for_cookies)
答案 0 :(得分:0)
虽然您的示例中有CookieContainer
代码,但实际上并未在其中添加任何内容。 HttpWebRequest
对以前的请求一无所知,当然也没有神奇地将任何cookie的内容存储在您的容器中,您必须自己做。拥有CookieContainer
是不够的。大多数(特别是电子商务)网站都非常具体,他们希望以cookie的形式存在,通常报告当cookie不包含正确的值时,cookie不会打开。您必须在浏览器中检查网站,以确定设置了哪些cookie以及它们包含的值。 Google“检查Cookie”以了解如何在您选择的浏览器中查看Cookie。