请有人帮助我。我已经研究了几个小时,已经尝试了很多不同的建议修复,我完全失去了为什么我仍然得到这个错误。
我有一个 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();
我已经尝试了所有可以想象的组合,不评论上述3条注释行。
我在web.config中有这个:
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing ="true"/>
</settings>
</system.net>
当我在我的开发机器上运行 Fiddler 时,该页面毫无例外地运行,fiddler在返回的顶部显示此消息:
HTTP / 1.0 200这个错误的服务器没有返回标题
如果没有Fiddler运行,我每次都会在request.GetResponse()
行上收到错误。
答案 0 :(得分:6)
好吧,我尝试了我在StackOverflow和网络上的其他地方找到的所有建议,但是从来没有得到HttpWebRequest的实现为我工作,所以我尝试使用TcpClient后阅读: How To Set useUnsafeHeaderParsing For .NET Compact Framework
为了让它适合我,我不得不修改这一行:
sw.WriteLine(string.Format("GET /{0} HTTP/1.1", pathAndQueryString));
为:
sw.WriteLine(string.Format("GET /{0} {1}", pathAndQueryString, Environment.NewLine+Environment.NewLine));
这很有效。
答案 1 :(得分:0)
在使用C#的asp.net中,此问题仅与端口相关联。
许多程序使用80端口就是为什么会出现这个错误,所以摆脱这个问题只需关闭你的
就不需要配置了Skype,VPN软件等..它将解决您的问题。
在我的情况下实际上它不是Skype而是热点盾(一个免费的VPN)软件在后台退出运行,软件解决了我的问题。