PHP 中的 curl 在本地能够获取数据,而在服务器上获取失败
由于公司需求,用 php 的 curl 获取数据,但是有个 api 的数据在本地测试的时候能够获取,而在服务器上使用则出现获取失败,返回 false 的情况。
$date = time();
for($i = 0 ; $i < 10 ; $i++){
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, 'http://api.aex.com/ticker.php?c=all&mk_type=btc' );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; AEX PHP bot; ' . php_uname('a') . '; PHP/' . phpversion() . ')');
$result = curl_exec($ch);
var_dump($result);
}
var_dump(time() - $date);
而在服务器上运行该脚本的时候,返回也是 false ,但是会弹出下载栏,下载后可以查看数据。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先按照你说法是确实有返回值,只是返回值是false,这样的话就可以分为两种情况。
一种是对方的api报错了,你可以去他的官方论坛或者一些大的论坛看一下,如果有使用的人一定会有人吐槽
另一种就是你的请求被对方拒绝了,这时候就应该看一下你的请求数据,如果你本地成功而服务器上失败,那是不是有IP限制呢?