作成日:2018-08-31, 更新日:2018-08-31
最小限の取得の基本型
▼私にとっての基本型。
$result = array(
'httpCode' => '',
'curlErrCode' => '',
'curlErrInfo' => '',
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_exec()を出力じゃなく、取得
curl_setopt($ch, CURLOPT_TIMEOUT, 30); // タイムアウト(秒)
$source = curl_exec($ch);
// ステータスコード
$curlInfo = curl_getinfo($ch);
if ( is_array($curlInfo) && isset($curlInfo['http_code']) ) {
$result['httpCode'] = $curlInfo['http_code'];
}
else {
$result['httpCode'] = 'unknown';
}
// エラーがあったとき。「http_code:0」はタイムアウトなど
$curlErrNo = curl_errno($ch);
if ( 0 < $curlErrNo ) {
$statusMessage .= 'cURL Error (' . $curlErrNo . '): ' . $curlErrOr;
$result['curlErrCode'] = $curlErrNo;
$result['curlErrInfo'] = curl_error($ch);
}
curl_close($ch);
// 出力
echo $source;
var_dump($result);