相同的URL,.NET和浏览器中的不同响应

时间:2017-03-22 01:21:00

标签: vb.net get webclient

当我使用URL http://www.nasdaq.com/symbol/aapl/financials?query=cash-flow直接粘贴到浏览器窗口时,我会收到现金流量数据并可以查看源视图以查看现金流量值表。但是,当我使用相同的URL并在.NET中执行GET时,它返回基本财务页面(http://www.nasdaq.com/symbol/aapl/financials)以下是我在.NET中使用的代码。这个真的很难我,我已经尝试了多种方法来返回.NET中的页面并且每次都得到相同的响应。它似乎忽略了查询字符串。

            Dim url As Uri = New Uri("http://www.nasdaq.com/symbol/" & stock("c_symbol") & "/financials?query=cash-flow")
            Dim str As String = Nothing
            isValid = True
            Using wb = New WebClient()
                Try
                    str = wb.DownloadString(url)
                Catch ex As Exception
                    isValid = False
                End Try
            End Using

1 个答案:

答案 0 :(得分:0)

似乎“DownloadString(Uri address)”函数只考虑基址但不考虑查询字符串。

首先将查询字符串设置为Web客户端,然后调用“DownloadString(Uri address)

Dim wb As New WebClient()
Dim myQueryStringCollection As New NameValueCollection()
myQueryStringCollection.Add("query","cash-flow");   
wb.QueryString = myQueryStringCollection;
str = wb.DownloadString(url)

拨打“DownloadString(String)”而不是“DownloadString(Uri address)” 为此,请勿将网址声明为“Uri”,而是将网址声明为“string

Dim url As String