请教 php curl 返回 Empty reply from server 原因?

2014-05-07 18:23:54 +08:00
 hopestar86
function curlPost($url,$postdata=array()){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 600); //超时时间
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Accept: */*',
'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',
'Connection: Keep-Alive'));
$data=curl_exec($ch);
echo curl_error($ch);
curl_close($ch);
return $data;
}

$postdata=array(
'site_key'=>'SOnmitFRjJ7h',
'api_action'=>'siteverify',
);

echo curlPost('http://www.freerun3size.com/api_handler.php',$postdata);

这个站我用html表单提交有正常返回,但是我用curl模拟提交curl就报Empty reply from server

我朋友的站,程序本身没做限制,我程序放到空间curl模拟提交也可以正常返回,请教是这个空间做了什么限制了吗? 在加上什么模拟条件可以绕过限制,谢谢
11763 次点击
所在节点    PHP
6 条回复
mengskysama
2014-05-07 19:09:40 +08:00
你确定这个web前端能正确处理post请求?这个http连接会被断开的。
代码本身是没问题的把代码post改成get可以返回,html提交入口在哪。
sandtears
2014-05-07 20:34:25 +08:00
你确定可以吗? 我在本地按照你写的构造 post 失败了
alex321
2014-05-07 20:54:15 +08:00
http_build_query
hopestar86
2014-05-07 21:33:54 +08:00
@sandtears

<form action="http://www.freerun3size.com/api_handler.php" method="post"><br />
site_key: <input type="text" name="site_key" value="SOnmitFRjJ7h" /><br />
api_action: <input type="text" name="api_action" value="siteverify" /><br />
<input type="submit" name="submit"/><br />
</form>

得到的结果
{"data":"","status":0,"info":"SITEKEY_ERROR"}

你本地form表单提交得到的也是空的吗?
hopestar86
2014-05-07 21:35:46 +08:00
@mengskysama
form表单的html正常post提交没问题的,这个网站转义到别的空间curl和form表单都没问题,但是就是这个空间里curl提交就有问题,很奇怪,不知道是空间的什么限制
sandtears
2014-05-08 21:35:37 +08:00
@hopestar86 应该是限制了机器提交,我用 python-urllib2 和命令行 curl 提交都失败了,这段 html 代码写成文件用 Chrome 打开提交就和你的效果一样了。。。

你把 curl 加上 User-Agent 之类的东西试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/111526

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX