C# winform下“服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF” 的解决办法
最近在winform模式下,通过XmlDocument.Load(string URL)时,运行到词句就报错:服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF
这个个错误貌似是微软没有容忍不符合RFC 822中的httpHeader必须以CRLF结束的规定的服务器响应所导致的,具体的没有去深究。那么解决这个问题的具体方法如下:
在软件运行目录下(例如DEBUG目录下)添加配置文件:软件名.exe.config。用记事本打开文件写入:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing= "true " />
</settings>
</system.net>
</configuration>
保存后运行程序,系统会自动生成文件:IPCCONFIG.vshost.exe.config。理论上即可解决这个问题