Получить информацию заголовка из php curl
Я искал несколько часов и ничего не могу найти по этому поводу. Я делаю php curl post запрос к API Sugarsync, и он возвращает местоположение в заголовках, которые мне нужны. Я понятия не имею, как получить эту информацию. я должен держать это как сообщение, потому что я отправляю файл XML в их API, и все, что они делают, возвращают информацию заголовка. Я понятия не имею, как я могу получить доступ к местоположению в заголовках. в соответствии с ними мне нужно поместить его в другой XML-файл и опубликовать его. любая помощь приветствуется.
2 ответа
Если вы установите опцию curl CURLOPT_FOLLOWLOCATION
, cURL будет следовать за перенаправлением местоположения для вас.
Если вы хотите получить заголовки, установите опцию CURLOPT_HEADER
к 1, и HTTP-ответ, который вы получите от curl_exec()
будет содержать заголовки. Вы можете их разобрать на предмет местоположения.
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 1); // return HTTP headers with response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return the response rather than output it
$resp = curl_exec($ch);
list($headers, $response) = explode("\r\n\r\n", $resp, 2);
// $headers now has a string of the HTTP headers
// $response is the body of the HTTP response
$headers = explode("\n", $headers);
foreach($headers as $header) {
if (stripos($header, 'Location:') !== false) {
echo "The location header is: '$header'";
}
}
Смотрите все опции в curl_setopt ().
Получить информацию заголовка в ответе.
curlsetopt($ch,CURLOPT_HEADER,true);