2014-12-13 43 views
0

我在我的測試html頁面上放置了在線計數器,當我嘗試重新加載此頁面時,計數器沒有刷新,所以看起來這個WebRequest不工作​​,感謝您的幫助,這裏是我得到的此刻:用WebRequest VB .Net重新加載URL

Public Class Form2 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     Dim sites() As String = New String() {"TextBox1.Text"} 
       Debug.WriteLine(sites.Length) 
     'Stop 
     For Each s As String In sites 
      Dim t As New Threading.Thread(AddressOf threadimportbtcUSD) 
      t.IsBackground = True 
      t.Start(s) 
      Threading.Thread.Sleep(1000) 
     Next 
    End Sub 

    Private Sub threadimportbtcUSD(s As Object) 
     Dim asite As String = DirectCast(s, String) 
     Do 
      Debug.WriteLine(DateTime.Now.ToLongTimeString) 
      Dim postReq As Net.HttpWebRequest = DirectCast(Net.WebRequest.Create(asite), Net.HttpWebRequest) 

      Try 
       postReq.Timeout = 5000 
       postReq.ContentType = "application/x-www-form-urlencoded" 
       postReq.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)" 
       Dim postresponse As Net.HttpWebResponse 
       postresponse = DirectCast(postReq.GetResponse(), Net.HttpWebResponse) 
       Dim risposta As String 
       Dim postreqreader As New IO.StreamReader(postresponse.GetResponseStream()) 
       risposta = postreqreader.ReadToEnd 
       postreqreader.Close() 
       postreqreader.Dispose() 

       postresponse.Close() 
       postresponse.Dispose() 
      Catch ex As Exception 
       Debug.WriteLine(ex.ToString) 
       postReq.Abort() 
      End Try 
      Threading.Thread.Sleep(1000) 
     Loop 
    End Sub 
End Class 
+0

你肯定在'asite'是正確的網址是什麼?您是否嘗試過運行像Fiddler這樣的HTTP調試軟件來查看請求是否被提交? – 2014-12-13 01:56:14

+0

我在一些vb博客上發現了這個,並且我只添加了一些東西。我需要做這項工作,但我得到的所有信息只有獲得源頁面或添加代理,所以我不知道真的:(所以挫折 – jeremy 2014-12-13 01:59:05

+0

您的文本框包含1個或多個URL? – 2014-12-13 02:01:41

回答

0

試試這個:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    doSubmitHTTPRequest(TextBox1.Text) 
End Sub 

Private Sub doSubmitHTTPRequest(ByVal url As String) 
    Dim webRequest As Net.HttpWebRequest = CType(System.Net.HttpWebRequest.Create(url & "?nocache=" & DateTime.Now.Ticks), Net.HttpWebRequest) 
    webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)" 
    webRequest.Method = "GET" 
    webRequest.ContentType = "text/xml; encoding='utf-8'" 

    Dim responseReader As IO.StreamReader = New IO.StreamReader(webRequest.GetResponse().GetResponseStream()) 
    Dim responseData As String = responseReader.ReadToEnd() 

    responseReader.Close() 
    webRequest.GetResponse().Close() 

    'responseData <= variable which contains the response from the server 
End Sub 
+0

感謝您的代碼,但它不計算查看的頁面和計數器仍然顯示相同的命中:( – jeremy 2014-12-13 02:22:21

+0

嘗試添加'Msgbox(responseData)'在子'doSubmitHTTPRequest'末尾,看看響應是什麼。 – 2014-12-13 02:34:51

+0

msgbox顯示並顯示html代碼這個結果意味着什麼? – jeremy 2014-12-13 02:40:45