PHP Как выполнить http-запрос, передав куки и сохранить результат в строку - PullRequest
5 голосов
/ 14 января 2011

Я хотел бы выполнить http-запрос и передать все запросы, полученные текущим сценарием (в частности, сеансовые файлы cookie), на этот запрос. Затем я хотел бы сохранить результат в строку для дальнейшей манипуляции. Каков наилучший способ сделать это в PHP?

1 Ответ

6 голосов
/ 17 января 2011

керл? - это просто и подавляй печенье.

Редактировать 19.1 - Вот пример

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt');

$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);

CURLOPT_COOKIEJAR - это файл, в который cURL помещает файлы cookie, отправленные с сервера, а CURLOPT_COOKIEFILE - файл с файлами cookie для отправки по cURL (если установить его на то же самое, файл cookie будет использоваться).

Другой вариант - вручную прочитать файлы cookie из результата (установите CURLOPT_HEADER в «1» - заголовок результата будет помещен в $ output) и отправить файлы cookie через CURLOPT_COOKIE (установите его в список файлов cookie в формате «foo = bar; bar = foo» ; ')

Примечание - libcurl должен быть включен в php.ini

...