如何在VB.NET 2010中从webbrowser对象获取POSTDATA?
我知道在以前版本的VB中,webbrowser对象有一个beforenavigate2事件,该事件提供了对webbrowser的postdata的访问 我已经搜索了又搜索,我认为该事件已被VisualStudio2010禁用如何在VB.NET 2010中从webbrowser对象获取POSTDATA?,vb.net,visual-studio-2010,beforenavigate2,Vb.net,Visual Studio 2010,Beforenavigate2,我知道在以前版本的VB中,webbrowser对象有一个beforenavigate2事件,该事件提供了对webbrowser的postdata的访问 我已经搜索了又搜索,我认为该事件已被VisualStudio2010禁用 有没有想过如何从webbrowser对象中获取postdata 我知道这是一个老问题,但我一直在为同一个问题苦苦挣扎,现在想在这里分享答案。这个答案要归功于他,因为是他教给我的 如果您有一个名为browser的对象实例,您可以实现自己的处理程序来控制事件(这在某种程度上相当
有没有想过如何从webbrowser对象中获取postdata 我知道这是一个老问题,但我一直在为同一个问题苦苦挣扎,现在想在这里分享答案。这个答案要归功于他,因为是他教给我的 如果您有一个名为browser的对象实例,您可以实现自己的处理程序来控制事件(这在某种程度上相当于BeforeNavigate2),并从中使用和对象:
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
这与在导航2事件之前从中直接访问PostData对象不同,但我认为这是一个不错的选择
如果这个答案不能让您满意,那么在另一个问题中,将解释一个方法,直接处理旧的BeforeNavigate2事件