阅读JSON WebResponse

时间:2016-01-20 14:24:06

标签: c# json vb.net

我正在使用此功能获取我请求的网址的响应。 这个函数没有发生任何错误,但它返回的值不是我想要的。

以下是Firefox的回复:

enter image description here

该函数返回HTML部分,但不返回nextCursorEndpoint部分。我想得到nextCursorEndpoint部分。

我的代码:

Private Function GET_Request(ByVal URL As String, ByVal CC As CookieContainer) As String
    Try
        Dim req As HttpWebRequest = DirectCast(WebRequest.Create(URL), HttpWebRequest)
        With req
            .Method = "GET"
            .CookieContainer = CC
            .UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0"
        End With

        Using response As WebResponse = req.GetResponse()
            Using resStream As Stream = response.GetResponseStream()
                Using streamReader As New StreamReader(resStream, Encoding.UTF8)
                    Return streamReader.ReadToEnd()
                End Using
            End Using
        End Using
    Catch ex As Exception
        InvokeIfRequired(ListBox2, DirectCast(Sub() ListBox2.Items.Add("[" & TimeString & "]:" & ex.Message), MethodInvoker))
        Return GET_Request(URL, CC)
    End Try
End Function

1 个答案:

答案 0 :(得分:2)

  

[基于上述问题中的评论......]

问题中的代码不进行任何类型的过滤。所以我强烈怀疑服务器没有返回您期望的内容。很可能是这个问题的罪魁祸首可能就是请求中发送的标题。

您希望在调试过程中仔细检查这些内容。 Firefox可能只是发送不同于您的代码发送的标头,并且该资源的服务器端逻辑可能会有不同的响应。

例如:如果Accept标题不同和/或缺失,那么可能会通知服务器提供不同类型的响应。