HTTP 协议问题

一   在请求Http服务器, 步骤request.GetResponse() as HttpWebResponse的时候报错

  System.Net.WebException:“服务器提交了协议冲突. Section=ResponseStatusLine”

解决方法:

在App.config文件中添加:

<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing = "true"/>
</settings>
</system.net>

 

二  Http请求Linux服务器, 返回的内容乱码

答: 是因为返回的内容做了压缩导致的, 可以用postman请求服务器, 观察返回的信息中的Headers-Content-Encoding

如果是gzip压缩, 解决方法:

Stream stm = new System.IO.Compression.GZipStream(webresponse.GetResponseStream(), System.IO.Compression.CompressionMode.Decompress);

StreamReader reader = new StreamReader(stm, Encoding.UTF8);
return reader.ReadToEnd();

posted @ 2022-01-21 15:04  剑存古风  阅读(90)  评论(0编辑  收藏  举报