2014-12-13 46 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