2017-06-14 53 views
1

我正在嘗試集成Coinbase Wallet PHP Library。coinbase api調用導致一個`403 Forbidden`響應

這裏是我的代碼,以獲得當前BTC買入價

<?php 

require_once 'vendor/autoload.php'; 

use Coinbase\Wallet\Client; 
use Coinbase\Wallet\Configuration; 
use Coinbase\Wallet\Resource\Address; 
use Coinbase\Wallet\Resource\Account; 

$apiKey = '**********'; 
$apiSecret = '*************'; 
$configuration = Configuration::apiKey($apiKey, $apiSecret); 
$client = Client::create($configuration); 

try { 
    $buyPrice = $client->getBuyPrice('BTC-USD'); 
} catch (Exception $exc) { 
    echo '<pre>'; 
    echo $exc->getTraceAsString(); 
    echo '<hr/>'; 
    echo $exc->getMessage(); 
    echo '</pre>'; 

} 
?> 

上面的代碼工作完美,但過一段時間它拋出以下錯誤

#0 C:\xampp\htdocs\coinbase\vendor\coinbase\coinbase\src\HttpClient.php(137): Coinbase\Wallet\Exception\HttpException::wrap(Object(GuzzleHttp\Exception\ClientException)) 
#1 C:\xampp\htdocs\coinbase\vendor\coinbase\coinbase\src\HttpClient.php(121): Coinbase\Wallet\HttpClient->send(Object(GuzzleHttp\Psr7\Request), Array) 
#2 C:\xampp\htdocs\coinbase\vendor\coinbase\coinbase\src\HttpClient.php(74): Coinbase\Wallet\HttpClient->request('GET', '/v2/prices/BTC-...', Array) 
#3 C:\xampp\htdocs\coinbase\vendor\coinbase\coinbase\src\Client.php(820): Coinbase\Wallet\HttpClient->get('/v2/prices/BTC-...', Array) 
#4 C:\xampp\htdocs\coinbase\vendor\coinbase\coinbase\src\Client.php(118): Coinbase\Wallet\Client->getAndMapMoney('/v2/prices/BTC-...', Array) 
#5 C:\xampp\htdocs\coinbase\index.php(16): Coinbase\Wallet\Client->getBuyPrice('BTC-USD') 
#6 {main} 
Client error: `GET https://api.coinbase.com/v2/prices/BTC-USD/buy` resulted in a `403 Forbidden` response: 

請建議。

感謝

回答

1

我有一個類似的問題連接此API,而不是使用libary。

我認爲這是來自Cloudflare的某種保護。我設法繞過它增加了一些額外的頭假「真正的」瀏覽器,尤其是「用戶代理」:

 $url = 'https://api.coinbase.com/v2/prices/BTC-EUR/spot'; 
     $response = wp_remote_get($url, array(
       'timeout' => 120, 
       'headers' => array(
        'CB-VERSION' => '2017-05-19', 
        'Accept' => '*/*', 
        'Accept-Language' => 'de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4', 
        'Cache-Control' => 'no-cache', 
        'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 OPR/45.0.2552.882' 
       ) 
      ) 
     ); 

(wp_remote_get是WordPress的)

+1

大男人!非常感謝。 – user33333