关于HttpWebRequest发生服务器协议冲突的解决办法

/ 0评 / 0

最近在做软件登陆校内网的软件,今天突然不好用了,可能校内改版了,让我的软件出现了错误:

服务器提交了协议冲突.Section=ResponseHeader Detail=CR 后面必须是LF

这个错误貌似是微软没有容忍不符合RFC 822中的httpHeader必须以CRLF结束的规定的服务器响应所导致的,以至于无法使用软件登陆校内,让我很郁闷,后来尝试了各种方法,2种有效

方法一:

采用WEB编ASP.NET的话可用:

web.config文件里加入
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing="true" />
</settings>
</system.net>
允许系统容忍(tolerant)只以CR或LF结尾的hearder信息

 

方法二:

用于winform中,在Debug文件夹里新建一个文件名为:APPNAME.exe.config 的文件,APPNAME为应用程序的名字,然后用记事本打开,添加以下内容即可:

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

但是虽然解决了这个问题,貌似也不好使,应为还是登陆不上。。。也许错误该发生的还是让它发生的好,容忍了也没用...

发表评论

电子邮件地址不会被公开。 必填项已用*标注