#http #curl #header #response
#http #curl #заголовок #ответ
Вопрос:
У меня есть приведенный ниже код, но по какой-то причине я не могу получить правильный код HTTP-ответа, поскольку он всегда возвращается как 0. Я попытался протестировать страницу, на которой есть только «заголовок («HTTP / 1.1 404 не найден»);» и запустить cURL на этой странице, но все равно я получаю 0. Когда я перехожу непосредственно на страницу в браузере, код заголовка правильный. Есть идеи?
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, Array (
"Content-Type: " . $content_type
));
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPGET, TRUE);
curl_setopt($curl, CURLOPT_USERAGENT, RESTClient :: USER_AGENT);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_HTTPHEADER, TRUE);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC );
curl_setopt($curl, CURLOPT_USERPWD, $auth);
$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
echo $httpcode;
$result = curl_exec($curl);
curl_close($curl);
Ответ №1:
Естественно, код возврата не может быть получен до тех пор, пока запрос не будет выполнен, что происходит с вызовом curl_exec(). Переместите свой curl_getinfo после этой строки, и он должен работать.