C# 如何使用WebClient从网页获取异步post数据?

C# 如何使用WebClient从网页获取异步post数据?,c#,webclient,C#,Webclient,我正在使用WebClient阅读的网站在加载后返回一个JSON对象。我可以按下网站上的按钮启动异步回发,然后返回JSON对象: 当我尝试发布到与JSON数据相同的URL时,会得到完整的回发,并返回整个页面,而不仅仅是JSON数据 我的代码是这样的: using (WebClient client = new WebClient()) { System.Collections.Specialized.NameValueCollection reqparm = new System.C

我正在使用
WebClient
阅读的网站在加载后返回一个JSON对象。我可以按下网站上的按钮启动异步回发,然后返回JSON对象:

当我尝试发布到与JSON数据相同的URL时,会得到完整的回发,并返回整个页面,而不仅仅是JSON数据

我的代码是这样的:

  using (WebClient client = new WebClient()) {
    System.Collections.Specialized.NameValueCollection reqparm = new System.Collections.Specialized.NameValueCollection();
    reqparm.Add("limit", "1000");
    byte[] responsebytes = client.UploadValues("https://somewebsite.org/doe/search/resultData", "POST", reqparm);
    string responsebody = Encoding.UTF8.GetString(responsebytes);
  }

回发很可能是通过包含cookie的正确头发送的,以帮助服务器识别回发的事实。您过于简单的
WebClient
代码没有遵循此方案,因此服务器会发送一个完整的页面响应。

结果是,我(尴尬地)在
.UploadValues
方法中使用了错误的URL。