我理解在VB的早期版本中,webbrowser对象有一个beforenavigate2事件,它提供了对webbrowser的后期数据的访问。
我已经搜索和搜索,我认为该事件是禁用的视觉工作室2010。
对于如何从webbrowser对象获取could数据,有什么想法吗?
发布于 2013-03-19 15:38:58
我知道这是个老生常谈的问题,但我一直在努力解决同一个问题,现在我想在这里分享答案。这个答案的学分属于罗氏岩,因为是他教我的。
如果您有一个名为System.Windows.Forms.WebBrowser对象的实例,例如,browser,您可以实现自己的处理程序来控制航行事件(这在某种程度上等同于BeforeNavigate2),并在其中使用System.Net.WebRequest和System.Net.WebResponse对象:
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对象不同,但我认为这是一个不错的选择。
https://stackoverflow.com/questions/11025370
复制相似问题