【问题标题】:HttpWebRequest, WebBrowser, and cookies? (visual basic 2010)HttpWebRequest、WebBrowser 和 cookie? (视觉基础 2010)
【发布时间】:2011-11-04 03:44:07
【问题描述】:

我正在为我姐姐编写一个程序,用于她玩在线游戏。它使用 WebBrowser 控件和 HttpWebRequest。

基本功能是搜索网站,我们会说网址是http://hersite.com/pet/*(不要点击链接哈哈,这只是一个例子)其中*是一个数字,这就是它的搜索方式。 我使用 for 循环将数字从指定的开始循环到结束,并使用 httpwebrequest 获取 html 代码,然后使用 InStr 和 .split() 处理字符串

当我使用 WebRequest.Navigate 访问网页时,它会将我正确带到该页面。但是,如果我通过 HttpWebRequest 获取源,它会获取登录页面的源,如果您未登录,网站会将您重定向到该页面。

有没有办法将 cookie 从 WebBrowser 传输到我的 HttpWebRequest?

我希望这很清楚。

一些例子:

获取 HTML 在这里的某个地方,我需要将 cookie 添加到 http 请求者,不是吗?

函数 GetHTML(ByVal strPage As String) As String Dim strReply As String = "NULL"

    Try
    Dim objHttpRequest As System.Net.HttpWebRequest
    Dim objHttpResponse As System.Net.HttpWebResponse
    Dim uri As New Uri(strPage)

    objHttpRequest = System.Net.HttpWebRequest.Create(strPage)


    objHttpResponse = objHttpRequest.GetResponse
    Dim objStrmReader As New StreamReader(objHttpResponse.GetResponseStream)

    strReply = objStrmReader.ReadToEnd()

    Catch ex As Exception
    strReply = "ERROR! " + ex.Message.ToString
     End Try

    Return strReply

End Function

【问题讨论】:

    标签: vb.net cookies httpwebrequest browser


    【解决方案1】:

    您对如何在您的 http 请求中获取或设置 cookie 有什么疑问?

    好吧,如果问题是如何设置,你可以这样做:

    objHttpRequest.Headers["Cookie"] = "baa";
    

    但是,如果是后者:

    使用 tcpdump 或 Wireshark 或其他类似工具来捕获网络流量,并查看 go 代码向服务器发送的具体内容以及服务器返回的响应内容。 对登录页面进行 http 请求 -> 发送登录名和密码(例如) 如果成功,服务器会在响应标头中返回 cookie。 从响应中拆分标签 cookie 并在您的 http 请求中设置如上。

    【讨论】:

    • 这就是我要找的东西,但代码行不是 VB,我猜是 C?但是,我明白你的要点。我要问的是如何将 WebBrowser1.Document.Cookies 传输到 objHttpRequest cookie,以及允许 httprequest 访问页面的天气。谢谢。另外,也许有一些代码示例说明我在使用wireshark 发现网络流量后会做什么?最后,我可以做类似的事情吗
    【解决方案2】:

    所以您想在WebBrowser 控件和HttpWebRequest 对象之间共享cookie?前者实际使用的是系统的 cookie(技术上是 Internet Explorer 的),因此访问它们可能存在安全风险。也就是说,有办法。查看this post。它在 C# 中,但您应该能够很容易地将其转换为 VB。您将看到一个 P/Invoke 以访问安全 cookie。最终,您只是将字符串从一个程序传输到另一个程序,您只需要确保它的格式正确。

    【讨论】:

      猜你喜欢
      • 2012-12-22
      • 2013-04-02
      • 2014-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多