zoukankan      html  css  js  c++  java
  • c# winform 服务器提交了协议冲突. Section=ResponseStatusLine

    【转】

    最近在用.net写一个网络蜘蛛,发现对有的网站用HttpWebrequest抓取网页的时候会报错,捕获异常提示:"服务器提交了协议冲突 Section=ResponseStatusLine ”,改用WebClient也是同样问题,后来知道,WebClient是对HttpWebrequest进一步进行了封装。
    最后终于找到问题根源:The  server  committed  a  protocol  violation.  Section=ResponseHeader  Detail=CR  must  be  followed  by  LF 微软没有容忍不符合RFC  822中的httpHeader必须以CRLF结束的规定的服务器响应。
    通过修改配置文件解决:在app.config或config.Config , 文件在项目的binDebug目录下;(WinForm)或web.config(Web)文件里修改。

    WinForm下的app.config文件中添加:

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

    完整 app.config文件
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <system.net> 
            <settings> 
                   <httpWebRequest useUnsafeHeaderParsing="true" />
            </settings> 
        </system.net>
    </configuration>


    编译以后会在Debug下面自动创建一个 程序名.exe.config 的配置文件
    希望大家能少走弯路,Good Luck~

  • 相关阅读:
    Android开发-API指南-服务
    Android开发-API指南-<uses-sdk>
    User Experience Questionnaire (UEQ)
    Git Remote (转)
    Start and Stop Bitbucket Server
    Bitbucekt Reference
    JIRA reference
    Glassfish 4 修改server.log 等配置
    SVN Trunk Tag Branch
    设置eclipse的Maven插件引入依赖jar包后自动下载并关联相应的源码(转)
  • 原文地址:https://www.cnblogs.com/lj821022/p/8372247.html
Copyright © 2011-2022 走看看