2017-10-03 10 views
-2

私はこのAPIの出力をPHPで取得しようとしています。それはオーストラリアの郵便貨物の計算機です。私は何が間違っているのか分からない、何人か提案してください。それは本当に役に立つでしょう。PHPでAPI出力を取得しようとしています

// Set your API key: remember to change this to your live API key in production 
$apiKey = API_KEY; 

// Set the URL for the Domestic Parcel Size service 
$urlPrefix = URL_PREFIX; 
$parcelTypesURL = 'https://' . $urlPrefix . '/postage/parcel/domestic/size.json'; 

// Lookup domestic parcel types (different kinds of standard boxes etc) 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $parcelTypesURL); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('AUTH-KEY: ' . $apiKey)); 
$rawBody = curl_exec($ch); 

// Check the response: if the body is empty then an error occurred 
if(!$rawBody){ 
die('Error: "' . curl_error($ch) . '" - Code: ' . curl_errno($ch)); 
} 

// All good, lets parse the response into a JSON object 
$parcelTypesJSON = json_decode($rawBody); 
+0

これがあなたのAPIキーである場合は、非表示にする必要があります。このコードでエラーが発生していますか? – Luke

+0

そのコードが機能します。 'print_r($ ParcelTypesJSON)'は私が期待するデータを表示します。エラーがある場合、そのコードの外にあります。 – Luke

+0

警告番号9のセキュリティ上の理由からcurl_init()が無効にされました これは警告の1つで、このキーはテストしたもので、なぜ非表示にしたのでしょうか – ovic

答えて

1

curl_init()これは、サーバがその機能を無効にしていることを意味します...

セキュリティ上の理由で無効になっています。
サーバーの制御権を持っている場合は、のcurl_init()を有効にします。 More information here
そうでない場合は、file_get_contents()をお試しください。 more information here

+1

またはあなたのホストがあなたにカールを与えていない場合にカールが必要な場合は、ホストを移動する – rtfm

関連する問題