服务器违反了协议。 Section=ResponseHeader Detail=CR 后面必须跟着 LF

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

我的App.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>

当我尝试从 url 下载一些 .pdf 文件时遇到以下错误。

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

经过广泛研究,大多数建议是在配置​​文件中添加 useUnsafeHeaderParsing="true",但不幸的是它已经存在于我的配置文件中。

但我意识到,建议解决方案中的所有示例都没有这条特定的行

<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>

所以我继续删除并尝试下载 .pdf 文件

<?xml version="1.0"?>
<configuration>
  <system.net>
    <settings>
      <httpWebRequest useUnsafeHeaderParsing="true" />
    </settings>
  </system.net>
</configuration>

有效。我的应用程序是使用 .Net Framework 4

构建的

我想了解的是删除此行是否有任何影响,或者可以通过其他方式修复它?

根据我的经验,删除该行不会 "break" 任何事情。该行仅在您的应用程序中直接针对 .NET Framework 4.0。

https://www.codeproject.com/Articles/886256/NET-versioning-and-multi-targeting-on-Csharp-appli

这是我在去年 12 月转换我的一些项目并从文件

中清除一些 "useless" 代码时遇到的一个很好且冗长的代码项目文件