Section=ResponseHeader Detail=标头名称无效

转自:http://www.sufeinet.com/thread-3831-1-1.html


问题:HttpHelper] 服务器提交了协议冲突. Section=ResponseHeader Detail=标头名称无效


解决方案:

winform的App.config或web的web.config中:

<?xml version="1.0"?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
    </startup>

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


原文------------------------------------------------------------------

小小程序员() 11:06:51
我的代码:string url = "http://192.168.0.184/cgi-bin/wagent?webipcinfo+list";
            HttpHelper httpHelper = new HttpHelper();
            HttpItem item=new HttpItem ();
            item.URL=url ;
            item.ResultType = ResultType.String;
            HttpResult r = httpHelper.GetHtml(item);


小小程序员() 11:07:20
它提示:服务器提交了协议冲突. Section=ResponseHeader Detail=标头名称无效

PerkySu() 11:08:13
ContentType = "text/html"这个参数没有设置

PerkySu() 11:09:05
要返回什么样的数据要写成什么样的头信息的。

PerkySu() 11:09:09
http://www.sufeinet.com/thread-1866-1-1.html

小小程序员() 11:10:13
设置了也不行

小小程序员() 11:10:57
还是提示:服务器提交了协议冲突. Section=ResponseHeader Detail=标头名称无效


PerkySu() 11:12:52
myRequest.ContentType = "application/x-www-form-urlencoded";

PerkySu() 11:13:04
item.ContentType = "application/x-www-form-urlencoded"

PerkySu() 11:13:45
[code=csharp]服务器提交了协议冲突.Section=ResponseHeader Detail=CR 后面必须是LF.

微软没有容忍不符合RFC 822中的httpHeader必须以CRLF结束的规定的服务器响应所导致.

解决方案分别是在web.config配置

    <system.net>
    <settings>
    <httpWebRequest useUnsafeHeaderParsing=”true” />
    </settings>
    </system.net>
[/code]


PerkySu() 11:14:13
我建议你去看看Httphelper原理再写,要不然你的问题让我很头疼。

PerkySu() 11:14:20
问的很另类

小小程序员() 11:14:26


小小程序员() 11:17:44
在Config中配置下,可以了

小小程序员() 11:17:55
谢谢,老大

小小程序员() 11:18:24
苏飞你真是程序员的福音啊


----------------------------------

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

The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF  

主体意思是微软没有容忍不符合RFC 822中的httpHeader必须以CRLF结束的规定的服务器响应。  

解决方案是在app.config或web.config文件里加入 
<configuration>
    <system.net>
        <settings>
            <httpWebRequest useUnsafeHeaderParsing="true" />
        </settings>
    </system.net>
</configuration><?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.net>
        <settings>
            <httpWebRequest useUnsafeHeaderParsing="true" />
        </settings>
    </system.net>
</configuration>
允许系统容忍(tolerant)只以CR或LF结尾的hearder信息  [/code]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值