请启用cookies消息(httpwebrequest)

时间:2016-01-12 22:47:50

标签: vb.net httpwebrequest webrequest

我试图向网站发送请求,但它一直告诉我我的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)

1 个答案:

答案 0 :(得分:0)

虽然您的示例中有CookieContainer代码,但实际上并未在其中添加任何内容。 HttpWebRequest对以前的请求一无所知,当然也没有神奇地将任何cookie的内容存储在您的容器中,您必须自己做。拥有CookieContainer是不够的。大多数(特别是电子商务)网站都非常具体,他们希望以cookie的形式存在,通常报告当cookie不包含正确的值时,cookie不会打开。您必须在浏览器中检查网站,以确定设置了哪些cookie以及它们包含的值。 Google“检查Cookie”以了解如何在您选择的浏览器中查看Cookie。