使用C#的HttpWebRequest类发送http请求时,出现了
服务器提交了协议冲突. Section=ResponseStatusLine 在 System.Net.HttpWebRequest.GetResponse()
的异常,google之后,大部分的解决方案都说在app.config里面加上
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing = "true"/>
</settings>
</system.net>
这么一段,但是我加了之后,重新生成,问题还是存在。
真正的解决方法是: 将http请求的Keep-Alive设置为false。问题解决。
从此多线程发送http请求再无这类问题!!
原因是这样的,ASP.Net 2.0 增强了安全性,对一些有危害的http 头进行了判断,比如url中有空格的情况,以帮助网站提高网络攻击的防御能力。如果你的http头中有一些ASP.NET 认为是有危害的信息,则会返回这个错误。你访问百度没有问题,是因为百度根本就不是asp.net 做的。
这个问题的解决办法是在你的 web.config 中添加如下配置:
我花了一整天的时间来解决这个问题。我有一个自定义的网络
服务器
,并请求从Chrome或POSTman ReST客户端工作正常。一旦我在c#中使用webclient或httpwebrequest,我就会得到:
服务器
违反
协议
。 S
ect
ion
=
Response
Status
Line
尝试将zip文件传输到客户端时。
服务器
违反了
协议
。 S
ect
ion
=
Response
Status
Line
in c#我...
最近发现对有的网站用HttpWebrequest抓取网页的时候会报错,捕获异常提示:"
服务器
提交
了
协议
冲突
S
ect
ion
=
Response
Status
Line
”,改用WebClient也是同样问题。 WebClient是对HttpWebrequest进一步进行了封装。 最后终于找到问题根源:The server committed a protocol violat
ion
今天更新了一个网站,新增了一个页面,调用WebService,在测试环境好好的,部署到正式环境后就莫名报错:
服务器
提交
了
协议
冲突
. S
ect
ion
=
Response
Status
Line
网上查了好多解决方案,有说加这个配置节的:
<system.net>
<settings>
<httpWebRequest useUnsafeHea...
<br />今天早上开发的时候出现了一个很奇的问题,写完代码一运行,vs.Net提示
服务器
提交
了
协议
冲突
S
ect
ion
=
Response
Status
Line
,很是奇怪,baidu一下,只找到几条记录,看到遇到这种问题的人不多。<br />在阿牛.乐园的博客中看到了作者的一个日志,只记录了抓包的情况,没有解决的方案,看来只好自己找了。<br /> 查看IIS,发现IIS已经被停止,重启IIS报“发生意外错误(0x8ffe2740)”错误,到网上一查,这个错误是因为80端口被占用,用netstat -a -
自己写了个程序,利用post获取某网站的信息,当进行到httpWeb
Response
= (HttpWeb
Response
)httpWebRequest.Get
Response
()时会提示“
服务器
提交
了
协议
冲突
. S
ect
ion
=
Response
Status
Line
”(有时出有时不出,好像跟电脑或网络有关)
百度了下,几个人都说要改webclient等来
提交
请求,但我仍想利用httpWebReq