以POST方式抓取小九聊天机器人数据出错,错误信息:
SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 42.120.61.213:80
代码:
WebClient web = new WebClient(); NameValueCollection param = new NameValueCollection(); param.Add("chat", message); string url = "http://www.xiaojo.com/bot/chata.php"; try { byte[] b = web.UploadValues(url, "POST", param); returnString = Encoding.UTF8.GetString(b); } catch (Exception ex) { throw ex; }
是一个网页程序,布署在appharbor.com上。
同样的一段代码在Winform上不会被拒绝。
请问是怎么回事,如何解决呢?
是否是Http请求头的必要参数没有设置,如错误中提到的Host属性,
也可以在本地测试时用fiddler抓 HTTP请求,与布置后的Http请求对比,找出差别
其实我这是一个微信后台程序
能否抓到布署后的http请求呢?
@luoshupeng:
Fiddler可以捕获到机器上任何Http请求
手机抓包可以参考下这个教程 http://www.cnblogs.com/TankXiao/p/3063871.html
加上Host属性,被拒绝的次数大大减少了,但还是有被拒绝的情况。
应该是小九服务器有什么设置吧。
响应超时,把响应时间设置长点
不然就是权限问题,看看有没有对本地进行读写的操作
little nine doesn't like u