把Http异步的操作改为同步操作后出现该异常,网上搜了一下,
原因:微软没有容忍不符合RFC 822中的httpHeader必须以CRLF结束的规定的服务器响应所导致
对于原因我是不明觉厉。
结果问题恰恰是出现在服务器上,服务器解决方法见最后。
尝试的解决方法:
0.几个人都说要改webclient等来提交请求,没有改的想法
1.有人说把客户端的KeepLive = false 立竿见影 尝试无效,
2.看到这个帖子
http://hi.baidu.com/westfruit/item/79d46811c2bd58463b176e21
新建个App.Conifg
新建方法:鼠标右键点击项目名称,添加–新建项,在弹出的对话框中选择”应用程序配置文件”,文件名称采用默认名称即可。
网上那种直接添加xml配置文件做法不可行。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.net>
<settings>
<httpWebRequest useUnsafeHeaderParsing= "true " />
</settings>
</system.net>
</configuration>
无效 = = ~
3.度娘靠不住,我去了下谷歌,大同小异,大概得出的方法是以下
_request.KeepAlive = false;
_request.ContentType = "application/JSON";
_request.Referer ="";
_request.UserAgent = "";
_request.CookieContainer = new CookieContainer();
均无效啊 = = 。。。
结果 到最后, 发现是我服务器端出现的问题。。。。。服务器端在写入数据流之前,写入以下代码
OutputStream.WriteLine("HTTP/1.0 200 OK");
OutputStream.WriteLine("Content-Type: text/html");
OutputStream.WriteLine("Connection: close");
OutputStream.WriteLine("");
原来问题是出现在服务器上。。
版权声明:本文为songqingwei1988原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。