ページが利用可能か調べるために以下のようなコードを作成しました
普通のページでは動作していたんですが、タイトルのようにhttpsページで405エラーとなります。
$ch = curl_init($value);
curl_setopt($ch, CURLOPT_HEADER, TRUE); // ヘッダーあり
curl_setopt($ch, CURLOPT_NOBODY, TRUE); // 本文なし(有効にするとGoogleのhttpsのページで405 method not allowedになる)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // 返答はテキストで
curl_setopt($ch, CURLOPT_TIMEOUT, 2); // タイムアウト
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); //リダイレクト先まで取得
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$res = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode == "200") {
return true;
}
メソッドがどうしたというエラーなのでCURLOPT_PROTOCOLSでGETのみにしたりPOSTのみにしたがそれも効果ありませんでした。
何が原因でしょうか?