相关疑难解决方法(0)

.NET的HttpWebResponse会自动解压缩GZiped和Deflated响应吗?

我正在尝试接受压缩响应的请求

var request = (HttpWebRequest)HttpWebRequest.Create(requestUri);
request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
Run Code Online (Sandbox Code Playgroud)

我想知道当我添加第二行时,我将不得不手动处理解压缩.

.net c# gzip httpwebrequest deflate

47
推荐指数
1
解决办法
2万
查看次数

DownloadString和HttpWebResponse没有返回完整的JSON内容

我试图在字符串中存储来自以下url的JSON响应.大多数情况下,我运行代码,JSON响应的最后几个字符被切断.当您在浏览器中访问该URL时,将显示完整的JSON响应.有时我的代码有效,但大多数情况下它返回部分内容.

如果我减少了我请求的网址中查询的长度,我会收到更多内容,更接近完整响应,这很奇怪.如果我完全删除查询字符串,通常会返回完整的JSON响应.问题是我想保持查询字符串不变.

我尝试了各种替代方法,包括更改编码,使用HttpWebRequest/HttpWebResponse,将响应复制到MemoryStream,使用字节缓冲区读取响应,更改协议版本等.

关于如何获得完整响应并能解释发生了什么的任何想法?谢谢!

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();
Run Code Online (Sandbox Code Playgroud)

.net c# webclient httpwebrequest httpwebresponse

2
推荐指数
1
解决办法
1696
查看次数

标签 统计

.net ×2

c# ×2

httpwebrequest ×2

deflate ×1

gzip ×1

httpwebresponse ×1

webclient ×1