Получить информацию заголовка из 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);
Другие вопросы по тегам