API(JSON形式のデータを返す)からJSONデータを取得するためにこの関数をコーディングしました。PHPでJSONデータを取得するcURL関数
function file_get_contents_curl($url,$json=false){
$ch = curl_init();
$headers = array();
if($json) {
$headers[] = 'Content-type: application/json';
$headers[] = 'X-HTTP-Method-Override: GET';
}
$options = array(
CURLOPT_URL => $url,
CURLOPT_HTTPHEADER => array($headers),
CURLOPT_TIMEOUT => 5,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HEADER => 0,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_MAXREDIRS => 3,
CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)'
);
curl_setopt_array($ch,$options);
$response = curl_exec($ch);
curl_close($ch);
if($response === false) {
return false;
} else {
return $response;
}
}
$応答が実際===false
である場合、それはカールがURLに接続できなかったことを意味するのでしょうか?あるいは、API自体が何も返さなかったかもしれません(しかし、接続は成功しました)?
cURLがURLに正しく接続されているかどうかを確認するにはどうすればよいですか?
を使用してますが?例:example.com/test.txt
andufo
空の文字列を返します: ''''、厳密な比較=== –
を使用することを忘れないでください。エラーを事前チェックすることでこれを行います:if($ response === false && curl_error($ ch) – andufo