cURL リクエストで非常に驚くべき動作に直面しています。スクリプトは数か月間正常に動作していましたが、何かが発生してコードが機能しなくなりました。
$url = "http://domain.net:443/connexion.php";
$ch = curl_init();
$f = fopen('request.txt', 'w');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PORT , 443);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_STDERR, $f);
$data = curl_exec($ch);
if(!curl_errno($ch)){
$info = curl_getinfo($ch);
echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
} else {
echo 'Curl error: ' . curl_error($ch);
}
curl_close($ch);
生成されたエラーは次のとおりです。
- domain.net:443 で getaddrinfo(3) が失敗しました
- ホスト「domain.net」を解決できませんでした
- 接続 #0 を閉じる
したがって、単純な 404 エラーのように見えますが、要点は、要求された URL が存在し、ブラウザーから利用できるということです...リソースが cURL からのみ利用できない理由がわかりません。