使用HttpWebRequest访问时出错:ServerProtocolViolation

ue892k 2005-06-15 02:44:56
一直运行正常的一个网站,其中一个模块使用HttpWebRequest来访问其他网页获取信息,今天突然发生错误,在执行HttpWebResponse response=(HttpWebResponse)request.GetResponse()时发生异常:
“基础连接已经关闭: 该服务器提交了 HTTP 协议冲突。”,这时的WebExceptionStatus为“ServerProtocolViolation(此服务器响应不是有效的 HTTP 响应),我直接用浏览器访问对方网站,可以正常显示,没有任何问题。
在Google上搜索发现了许多类似的问题,都没有解决方案,不知是不是.NET的BUG啊?
例如:http://thedotnet.com/nntp/332305/showpost.aspx

我的代码如下:
HttpWebRequest request=(HttpWebRequest)WebRequest.Create(@"http://www.target.com/target.asp");
request.ProtocolVersion=HttpVersion.Version11;
request.Method="POST";
request.ContentType="text/plain";
request.KeepAlive = true;
request.ContentLength=data.Length;
try
{
Stream newStream=request.GetRequestStream();
newStream.Write(data,0,data.Length);
newStream.Close();
HttpWebResponse response=(HttpWebResponse)request.GetResponse(); //异常
...
}
catch
{

}
各位高手,帮帮我。
...全文
372 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
saucer 2005-06-16
  • 打赏
  • 举报
回复
show all the code, we will test it for you
ue892k 2005-06-16
  • 打赏
  • 举报
回复
to saucer(思归) :
1、测试了HTTP 1.0仍然不正确,还是那个错误
2、对方网站要求使用POST方式提交数据,而且提交的数据内容很多,用GET方式不太可靠。
saucer 2005-06-16
  • 打赏
  • 举报
回复
what happens if you use HttpVersion.Version10?

also target.com uses GET, not POST

<form action="/gp/search.html">
ue892k 2005-06-16
  • 打赏
  • 举报
回复
to saucer(思归):
你的方法我试过了,还是不行。
我通过sniffer查看了数据流,对方返回的HTTP状态为200,可以肯定提交的请求正确执行了。而且通过浏览器查看是正确的。

这个网页中说了和我一样的问题:
http://thedotnet.com/nntp/332305/showpost.aspx
ccghghgj 2005-06-16
  • 打赏
  • 举报
回复
关注

===================
本回复通过csdn助手发布
http://qqwwee.com/csdn.net
最后更新 2005.06.16
saucer 2005-06-15
  • 打赏
  • 举报
回复
request.Method="POST";
request.ContentType="text/plain";

???
try

request.ContentType="application/x-www-form-urlencoded";
ue892k 2005-06-15
  • 打赏
  • 举报
回复
to hchxxzx,应该不会,我们与对方是协议网站,认可我们的访问。
另外,我通过sniffer查看了数据流,发现对方返回的HTTP状态为200,也就是执行OK(结果也正确返回了),但为什么.NET获取到这个响应流却认为不是有效的HTTP响应呢?
hchxxzx 2005-06-15
  • 打赏
  • 举报
回复
我怀疑,对方网站做了防止他人任意获取内容的措施,所以你的获取方式不再可行,导致出错.
ue892k 2005-06-15
  • 打赏
  • 举报
回复
试过了,访问其他网站正常。
doinfo 2005-06-15
  • 打赏
  • 举报
回复
你是下载所有网站都这样还是就这个网站这样?
ue892k 2005-06-15
  • 打赏
  • 举报
回复
难道这个问题没有解决办法么?
renyu732 2005-06-15
  • 打赏
  • 举报
回复
up
ue892k 2005-06-15
  • 打赏
  • 举报
回复
高手们,快帮帮我啊
ue892k 2005-06-15
  • 打赏
  • 举报
回复
在线等

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧