Включение XML-файла и настройка файлов cookie - PullRequest
0 голосов
/ 10 мая 2011

Хорошо, для проекта есть страница XML, которая использует куки пользователя для генерации вывода.

У меня нет доступа к этой странице, но я хочу извлечь из нее информацию, используя PHP.

До сих пор я думал о каком-то PHP-включении, которое устанавливает файлы cookie для внешнего файла.

Любые указатели или предложения будут великолепны. Спасибо.

РЕДАКТИРОВАТЬ: У меня нет контроля над доменом, на котором размещена страница XML.

1 Ответ

0 голосов
/ 10 мая 2011

Вы можете использовать cURL и добавить баночку с печеньем:

С http://curl.haxx.se/libcurl/php/examples/cookiejar.html:

<?php
/*
This script is an example of using curl in php to log into on one page and 
then get another page passing all cookies from the first page along with you.
If this script was a bit more advanced it might trick the server into 
thinking its netscape and even pass a fake referer, yo look like it surfed 
from a local page.
*/

$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, "/tmp/cookieFileName");
curl_setopt($ch, CURLOPT_URL,"http://www.myterminal.com/checkpwd.asp");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "UserID=username&password=passwd");

ob_start();      // prevent any output
curl_exec ($ch); // execute the curl command
ob_end_clean();  // stop preventing output

curl_close ($ch);
unset($ch);

$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookieFileName");
curl_setopt($ch, CURLOPT_URL,"http://www.myterminal.com/list.asp");

$buf2 = curl_exec ($ch);

curl_close ($ch);

echo "<PRE>".htmlentities($buf2);
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...