За последние 24 часа нас посетили 22694 программиста и 1212 роботов. Сейчас ищут 727 программистов ...

Сохранить и передать cookies в php PhantomJS

Тема в разделе "PHP для новичков", создана пользователем nekit44, 30 июн 2017.

  1. nekit44

    nekit44 Активный пользователь

    С нами с:
    27 дек 2015
    Сообщения:
    39
    Симпатии:
    2
    Добрый день

    использую: http://jonnnnyw.github.io/php-phantomjs/
    мучаю яндекс пытаюсь авторизоваться и сохранить cookie
    авторизация проходит норм

    PHP:
    1.  $client = Client::getInstance();
    2.  
    3.         $client->getEngine()->setPath('C:\\phantomjs\\phantomjs.exe');
    4.  
    5.         $request  = $client->getMessageFactory()->createRequest();
    6.         $response = $client->getMessageFactory()->createResponse();
    7.  
    8.         $data = array(
    9.             'login' => 'login',
    10.             'passwd' => 'pass'
    11.         );
    12.         $request->setMethod('POST');
    13.         $request->setUrl('https://passport.yandex.ru/auth');
    14.         $request->setRequestData($data); // Set post data
    15.  
    16.         $client->send($request, $response);
    беру cookie
    PHP:
    1. $header = $response->getCookies();
    Возвращает многомерный массив
    Записываю его в формате json в txt


    Пытаюсь зайти на страницу авторизованым:
    передать $cookie пытался по разному
    строкой как отдает браузер
    то что сохраняет сам PhantomJS
    не могу понять что именно нужно туда и в каком формате

    PHP:
    1. $client = Client::getInstance();
    2.         $client->getEngine()->setPath('C:\\phantomjs\\phantomjs.exe');
    3.         $request  = $client->getMessageFactory()->createRequest();
    4.         $response = $client->getMessageFactory()->createResponse();
    5.  
    6.         $request->setMethod('GET');
    7.         $request->addHeader('Cookie', $cookie);
    8.  
    9.         $request->setUrl('https://direct.yandex.ru/registered/main.pl?cmd=advancedForecast');
    10.  
    11.         $client->send($request, $response);
    документация http://jonnnnyw.github.io/php-phantomjs/4.0/3-usage/#custom-headers

    PHP:
    1. $request->addHeader('custom_header_key', 'custom_header_value');
    По идее просто строка с переносами "\n"

    Помогите плиз, надеюсь я верно выбрал категорию для сообщения.
     
  2. nekit44

    nekit44 Активный пользователь

    С нами с:
    27 дек 2015
    Сообщения:
    39
    Симпатии:
    2
    сделал на cURL авторизацию и запись в файл куки
    и все заработало, правда дам новые трудности :)
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    Явно парсер пытаешься сделать. Здесь это запрещено обсуждать
     
  4. marsik

    marsik Активный пользователь

    С нами с:
    30 дек 2008
    Сообщения:
    246
    Симпатии:
    17
    Или какой-нибудь скликиватель рекламы)))