【发布时间】:2014-07-07 15:03:18
【问题描述】:
我正在尝试将来自以下 url 的 JSON 响应存储在字符串中。大多数时候我运行代码,JSON 响应的最后几个字符被截断。当您在浏览器中访问 url 时,会显示完整的 JSON 响应。有时我的代码可以工作,但大多数时候它会返回部分内容。
如果我在我请求的 url 中减少查询字符串的长度,我会得到更多的内容并更接近完整的响应,这很奇怪。如果我完全删除查询字符串,通常会返回完整的 JSON 响应。问题是我确实想保持查询字符串不变。
我尝试了各种替代方法,包括更改编码、使用 HttpWebRequest/HttpWebResponse、copying the response into a MemoryStream、使用 byte buffer、changing the protocol version 读取响应等。
关于如何获得完整响应并可以解释正在发生的事情的任何想法?谢谢!
System.Net.WebClient wc = new System.Net.WebClient();
string data = wc.DownloadString("http://static.arcgis.com/attribution/World_Topo_Map?f=json&callback=dojo.io.script.jsonp_dojoIoScript19._jsonpCallback");
Console.Write(data);// String should end with ",-119.2]}]}]});"
Console.Read();
【问题讨论】:
标签: c# .net httpwebrequest webclient httpwebresponse