2012-06-14 28 views

回答

0

我知道這是一個古老的問題,但我在同一個問題上掙扎,現在想到在這裏分享答案。這個問題的答案是luchosrock,因爲他是向我傳授的。

如果你有一個名爲,發言權System.Windows.Forms.WebBrowser對象,瀏覽器的一個實例,您可以實現自己的處理程序來控制Navigating事件(即某種程度上等同於在BeforeNavigate2)和在其內使用System.Net.WebRequestSystem.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對象,但它是一個不錯的選擇,我想。

如果此答案不滿足您,在另一個問題中有this answer,其中一個方法被解釋爲直接處理舊的BeforeNavigate2事件。