PHP + Curl, получить удаленный файл и обслуживать с такими же заголовками - PullRequest
1 голос
/ 18 августа 2010

Мне нужен скрипт php, который принимает URL через запрос get, и я хочу, чтобы он отправлял запрос на URL, отправляющий те же заголовки, которые использовал посетитель, а затем возвращал файл с теми же заголовками, которые отправил сервер.

например.запрашивается http://Google.com/ PHP-скрипт использует Curl для запроса http://Google.com/ отправки тех же заголовков, что и браузер пользователя, отправленный в скрипт (например, имя браузера). Затем данные отправляются в браузер пользователя сте же заголовки, которые Google отправляет в скрипт (например, cache, ttl и т. д.).

1 Ответ

1 голос
/ 18 августа 2010

Ну, вам нужно установить параметр curlopt CURLOPT_HEADER, а также параметр CURLOPT_RETURNTRANSFER.Но это вернет одну строку с заголовками в верхней части тела.Затем вы можете разделить их на что-то вроде:

$response = curl_exec($ch);
list ($headerString, $body) = explode("\r\n\r\n", $response, 2);
$headers = explode("\r\n", $headerString);
foreach ($headers as $header) {
    header($header);
}
echo $body;

Теперь, имейте в виду, что не все заголовки следует пересылать (например, заголовок Server:) ... Я оставлю вам созданиефункция проверки работоспособности для удаления непереданных заголовков ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...