鍍金池/ 問答/網(wǎng)絡(luò)安全/ PHP 中的 curl 在本地能夠獲取數(shù)據(jù),而在服務(wù)器上獲取失敗

PHP 中的 curl 在本地能夠獲取數(shù)據(jù),而在服務(wù)器上獲取失敗

由于公司需求,用 php 的 curl 獲取數(shù)據(jù),但是有個(gè) api 的數(shù)據(jù)在本地測(cè)試的時(shí)候能夠獲取,而在服務(wù)器上使用則出現(xiàn)獲取失敗,返回 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);
  而在服務(wù)器上運(yùn)行該腳本的時(shí)候,返回也是 false ,但是會(huì)彈出下載欄,下載后可以查看數(shù)據(jù)。
回答
編輯回答
獨(dú)特范

首先按照你說法是確實(shí)有返回值,只是返回值是false,這樣的話就可以分為兩種情況。
一種是對(duì)方的api報(bào)錯(cuò)了,你可以去他的官方論壇或者一些大的論壇看一下,如果有使用的人一定會(huì)有人吐槽
另一種就是你的請(qǐng)求被對(duì)方拒絕了,這時(shí)候就應(yīng)該看一下你的請(qǐng)求數(shù)據(jù),如果你本地成功而服務(wù)器上失敗,那是不是有IP限制呢?

2017年2月10日 17:36