cURLでjsonを取得できない。
phpでcURLを使って以下のコードでiTuneのsearch apiを呼び出しましたがタイムアウトになってしまいます。
cURLはインストールされています。 タイムアウト時間を設定しなくても結果は同じでした。
解決方法を教えて下さい。よろしくおねがいします。
<?php
header('Access-Control-Allow-Origin:*');
header('Content-Type: application/json; charset=UTF-8');
require_once 'functions.php';
switch($_SERVER['REQUEST_METHOD']){
case 'GET':
if(isset($_GET['term'])&&isset($_GET['country'])){
$url = 'https://itunes.apple.com/search?';
$url=$url."term=".$_GET['term']."&country=".$_GET['country'];
if(isset($_GET['media'])) $url=$url."&media=".$_GET['media'];
if(isset($_GET['entity'])) $url=$url."&entity=".$_GET['entity'];
if(isset($_GET['lang'])) $url=$url."&lang=".$_GET['lang'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
$header = curl_getinfo($ch);
$code = $header['http_code'];
if($code>=400){
header("HTTP", true, $code);
echo json_encode($response);
exit();
}else{
echo json_encode($response);
curl_close($ch);
}
}else{
sendError("Term and country parameter are essential.");
}
break;
}