Ответы пользователя по тегу Qiwi
  • 301 moved permanently при попытке авторизоваться в Qiwi c помощью Curl. Как исправить?

    @shad541
    Есть решение!
    require_once 'Curl.php'; //https://github.com/php-curl-class/php-curl-class
    
    $curl = new \Curl\Curl();
    $curl->setOpt(CURLOPT_SSL_VERIFYPEER, 0);
    $curl->setCookieFile('cookie.txt');
    $curl->setHeader('Content-Type', 'application/json');
    $curl->setHeader('X-Requested-With', 'XMLHttpRequest');
    $curl->setUserAgent('Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:40.0) Gecko/20100101 Firefox/40.0');
    
    // Получаем TGT-тикет по логину и паролю
    $res = json_decode($curl->post('https://auth.qiwi.com/cas/tgts', json_encode(array(
        'login' => '+***',
        'password' => '***'
    ))));
    $TgtTicket = $res->entity->ticket;
    
    // Получаем пару ST-тикетов по TGT-тикету
    // первый тикет не нужен, а вот второй понадобится
    $curl->post('https://auth.qiwi.com/cas/sts', json_encode(array(
        'ticket' => $TgtTicket,
        'service' => 'https://qiwi.com/j_spring_cas_security_check',
    )));
    
    $res = json_decode($curl->post('https://auth.qiwi.com/cas/sts', json_encode(array(
        'ticket' => $TgtTicket,
        'service' => 'https://qiwi.com/j_spring_cas_security_check',
    ))));
    $STticket = $res->entity->ticket;
    
    // выполняем чек
    $res = $curl->get('https://qiwi.com/j_spring_cas_security_check?ticket='.$STticket);
    // запрос к проксе
    $res = $curl->get('https://auth.qiwi.com/app/proxy?v=1');
    
    // запрос отчета за неделю
    $curl->setHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
    $reports = $curl->post('https://qiwi.com/user/report/list.action', array(
        'type' => '3'
    ));
    // возвращаем Content-Type назад
    $curl->setHeader('Content-Type', 'application/json');
    
    print_r($reports);  // обработка результатов
    
    // запрос баланса etc
    $res = $curl->post('https://qiwi.com/person/state.action');
    print_r($res); // обработка результатов
    
    $curl->close();
    Ответ написан
    1 комментарий