Mar*_*vin 3 asp.net web-config httpwebrequest httpwebresponse
请有人帮助我.我已经研究了几个小时,已经尝试了很多不同的建议修复,我完全失去了为什么我仍然得到这个错误.
我有一个ASP.NET 4.0网页,其中包含以下代码:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(targetHref);
// request.KeepAlive = false;
// request.ProtocolVersion = System.Net.HttpVersion.Version10;
// request.ServicePoint.Expect100Continue = false;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Run Code Online (Sandbox Code Playgroud)
我已经尝试了我可以想象的所有组合,不评论上述3条注释行.
我在web.config中有这个:
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing ="true"/>
</settings>
</system.net>
Run Code Online (Sandbox Code Playgroud)
当我在我的开发机器上运行Fiddler时,页面运行无例外,fiddler在返回的顶部显示此消息:
HTTP/1.0 200这个错误的服务器没有返回标头
如果没有Fiddler运行,我每次都会收到错误request.GetResponse().
好吧,我尝试了我在StackOverflow和网络上的其他地方找到的所有建议,但从来没有得到HttpWebRequest的实现为我工作,所以我尝试使用TcpClient后阅读: 如何为.NET Compact Framework设置useUnsafeHeaderParsing
为了让它适合我,我不得不修改这一行:
sw.WriteLine(string.Format("GET /{0} HTTP/1.1", pathAndQueryString));
Run Code Online (Sandbox Code Playgroud)
至:
sw.WriteLine(string.Format("GET /{0} {1}", pathAndQueryString, Environment.NewLine+Environment.NewLine));
Run Code Online (Sandbox Code Playgroud)
这很有效.
| 归档时间: |
|
| 查看次数: |
7546 次 |
| 最近记录: |