首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从VB.NET 2010的webbrowser对象中获取POSTDATA?

如何从VB.NET 2010的webbrowser对象中获取POSTDATA?
EN

Stack Overflow用户
提问于 2012-06-14 00:49:00
回答 1查看 2K关注 0票数 0

我理解在VB的早期版本中,webbrowser对象有一个beforenavigate2事件,它提供了对webbrowser的后期数据的访问。

我已经搜索和搜索,我认为该事件是禁用的视觉工作室2010。

对于如何从webbrowser对象获取could数据,有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-03-19 15:38:58

我知道这是个老生常谈的问题,但我一直在努力解决同一个问题,现在我想在这里分享答案。这个答案的学分属于罗氏岩,因为是他教我的。

如果您有一个名为System.Windows.Forms.WebBrowser对象的实例,例如,browser,您可以实现自己的处理程序来控制航行事件(这在某种程度上等同于BeforeNavigate2),并在其中使用System.Net.WebRequestSystem.Net.WebResponse对象:

代码语言:javascript
复制
Imports System.IO
Imports System.Net
Imports System.Windows.Forms
'[...]
Private Sub browser_Navigating(sender As Object, _ 
                               e As WebBrowserNavigatingEventArgs) _ 
                           Handles browser.Navigating

    Dim req As WebRequest
    Dim res As WebResponse
    Dim postDataStream As Stream
    Dim WebResponse As String = ""
    '[...]
    Try
        req = WebRequest.Create(e.Url.ToString)
        req.Method = "POST"
        res = req.GetResponse
        postDataStream = res.GetResponseStream
        Dim webStreamReader As New StreamReader(postDataStream)
        While webStreamReader.Peek >= 0
            WebResponse = webStreamReader.ReadToEnd
        End While
    Catch ex As Exception
        ' Exception control code here
    End Try
    '[...]
End Sub

这与从BeforeNavigating2事件直接访问PostData对象不同,但我认为这是一个不错的选择。

如果这个答案不能满足您的要求,那么在另一个问题中就会有这个答案,其中解释了直接处理旧的这个答案事件的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11025370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档