c# - 如何在代码中设置useUnsafeHeaderParsing

标签 c# c#-4.0 httpwebrequest httpwebresponse

我收到以下异常:

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

来自这个问题:

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

我知道我需要将 useUnsafeHeaderParsing 设置为 True。

这是我的代码:

HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(url);
WebResponse myResp = myReq.GetResponse(); //exception is thrown here

useUnsafeHeaderParsing 是 HttpWebRequestElement 类的一个属性。

如何将它集成到上面的代码中?

最佳答案

您需要在您的 web.config 中设置 <system.net>部分,像这样:

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

如果出于某种原因,您不想从您的配置中执行此操作,您可以通过以编程方式设置您的配置设置来从代码中执行此操作。参见 this page举个例子。

关于c# - 如何在代码中设置useUnsafeHeaderParsing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8424144/

相关文章:

wpf - 这不是等待形式,但需要线程完成通知

c# - 使用WCF时,函数重载规则?

c# - 如何在 HttpWebRequest 中混合压缩和缓存?

asp.net - 从 ASP.Net 页面将 NetworkCredential 传递给 C# 中的 HttpWebRequest

c# - 错误 500 Web 请求无法抓取网站

c# - 如何在具有多个间接级别的项目中使用单元测试

c# - .NET:静态方法的推断泛型类型

c# - 如何在新的子窗口中实现文件上传?

c# - MailItem SaveAs() 方法文件类型

c# - 在线程内使用全局字典