Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Libraries > не могу отпарсить страницу autocheck.com


Автор: Toti 4.6.2007, 18:40
помогите отпарсить страницу. Пользуюсь PEARом HTTP_REQUEST
Засовываю:
Код

           $options = array('allowRedirect'=>true);

           $req->setMethod(HTTP_REQUEST_METHOD_POST);
           $req->setURL('https://www.autocheck.com/consumers/loginSubmitAction.do');
           $req->addPostData('email', '{email}');
           $req->addPostData('vin', '');
           $req->addHeader('User-Agent','Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4');
           $req->sendRequest();

           $webpage = $req->getResponseBody();

           die($webpage);



Получаю сообщение об ошибке? МОжет на сервере есть какая-то встроенная защита от парсинга или мне что-то еще надо добавить?

Автор: Golda 10.6.2007, 12:08
У Вас тут несколько проблем:

1. Я не вижу в коде создание экземпляра объекта. После определения переменной $options, которая должна быть передана параметром в конструктор, сразу идет использование несозданного $row

Код

$options = array('allowRedirects'=>true);
$req = new HTTP_Request('', $options);


2. опция, позволяющая редиректы, названа неправильно (allowRedirect вместо allowRedirects) (по карйней мере в моей версии HTTP_Request (1.51)
3. Вы не передаете данные сессии (если только они не переданы выше по коду). Поэтому получаете session expired.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)