Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.58/242: Рейтинг темы: голосов - 242, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 14.07.2013
Сообщений: 3

Авторизация в Qiwi с помощью curl

14.07.2013, 23:27. Показов 53271. Ответов 147
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени!

Недавно на Qiwi что-то поправили с авторизацией.
Скрипт перестал работать
две ночи бьюсь - не могу получить нормального ответа от сервера, прилетает
HTTP Status 401 - Authentication Failed:


Подскажите в чем подвох,

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
  error_reporting(E_ALL);
  require_once("../plugins/SimpleHtmlDom/simple_html_dom.php");
  $phone = '********'; //телефон он счета в виде +70000000000
  $password = '********'; //пароль от счета
  $cookie_filename = '/host/sta/cookie.txt';
...
 
  $url = "https://visa.qiwi.com/auth/login.action?source=MENU&login=".rawurlencode($phone)."&password=".rawurlencode($password); 
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_HEADER, 1);
  curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  curl_setopt($curl, CURLOPT_USERAGENT, 'Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.2.15 Version/10.10');
  curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_filename);
  curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_filename); 
  curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($curl, CURLOPT_SSLVERSION, 3);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);  //возвращать результат только в переменную
 
  //заходим на сайт получаем куки
  curl_setopt($curl, CURLOPT_URL, 'https://visa.qiwi.com/payment/main.action' );
  $page = curl_exec($curl);
print "$url<br>$page";
 
  curl_setopt($curl, CURLOPT_URL, $url);//авторизация
  $page = curl_exec($curl);
print "$url<br>$page";
  curl_close($curl);
  //Открываем страницу отчата по платежам
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_HEADER, 1);
  curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  curl_setopt($curl, CURLOPT_USERAGENT, 'Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.2.15 Version/10.10');
  curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_filename);
  curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_filename);
  curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
  curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
  curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($curl, CURLOPT_SSLVERSION, 3);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);  //возвращать результат только в переменную
  curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-Requested-With: XMLHttpRequest"));
  curl_setopt($curl, CURLOPT_URL, 'https://visa.qiwi.com/user/report/list.action');
  curl_setopt($curl, CURLOPT_POST, 1);
  curl_setopt($curl, CURLOPT_POSTFIELDS, "daterange=true&start=$date_start&finish=$date_finish");
  $page = curl_exec($curl);
  $html = str_get_html($page);
...
  $html->clear(); // подчищаем за собой
  unset($html);
  echo "NEW PAYMENT $newcount\n<br>";
  if ($curl_errno!=0){
    echo "==========Errors! ".date("Y-m-d H:i:s")."==========<br>\n";
    $curl_errno = curl_errno($curl);
    $curl_error = curl_error($curl);
    print_r($curl_errno);
    print_r($curl_error);
  }
echo "==========End ".date("Y-m-d H:i:s")."==========<br>\n";
?>
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.07.2013, 23:27
Ответы с готовыми решениями:

CURL авторизация QIWI
Не получается получить страницу. Вроде являюсь авторизованным по Json ответу т.к если задать неверный логин, то в Json ответе так и...

Авторизация через cURL QIWI
Код не работает, выдает ошибку. &lt;?php error_reporting(E_ALL); $USER_LOGIN = &quot;&quot;; $USER_PASSWORD = &quot;&quot;; ...

Авторизация на сайте с помощью CURL срабатывает только после обновления страницы.
написал код для авторизации на wordpress. код при тестировании работает, только при 1 но(!) авторизовывается только при обновлении...

147
0 / 0 / 0
Регистрация: 16.02.2015
Сообщений: 37
01.02.2016, 22:17
Студворк — интернет-сервис помощи студентам
И к чему тут контакт..?
0
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 6
01.02.2016, 22:25
Цитата Сообщение от intmainvoid Посмотреть сообщение
И к чему тут контакт..?
Тьфу(
Заработался..
Пишу фейк для вк..
https://m.qiwi.com/
И вправду алгоритм тот же - всё через css.
Ну я пока пасс(
Будем надеяться на решение кем-то проблемы.
0
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 2
07.02.2016, 16:55
никто ничего не придумал? Я уже думаю через Imacros делать...
0
0 / 0 / 0
Регистрация: 19.07.2015
Сообщений: 9
09.02.2016, 14:51
up. Нужно решение, платно тоже пойдет)
0
0 / 0 / 1
Регистрация: 28.10.2010
Сообщений: 10
09.02.2016, 15:01
Используйте selenium
0
0 / 0 / 0
Регистрация: 19.07.2015
Сообщений: 9
10.02.2016, 14:27
Боюсь, это не подойдет.
0
0 / 0 / 0
Регистрация: 19.07.2015
Сообщений: 9
11.02.2016, 04:29
Транзакция 1455154141020 пишет "Перевод НЕ найден.". Переводил с 79134714138
0
 Аватар для webog
1 / 1 / 0
Регистрация: 12.07.2011
Сообщений: 68
11.02.2016, 10:25
Цитата Сообщение от black_hawk05 Посмотреть сообщение
Транзакция 1455154141020 пишет "Перевод НЕ найден.". Переводил с 79134714138
Старый класс. Киви то изменил свою структуру. Продавец это не учел. Расходимся...
0
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 2
12.02.2016, 17:53
разобрался и с переводом через ваучер и с прямым переводом, ыыы, пускай лохи покупают всякое Г.
0
4 / 4 / 0
Регистрация: 02.03.2016
Сообщений: 17
02.03.2016, 02:40
MegaParser, Поможешь?
0
 Аватар для webog
1 / 1 / 0
Регистрация: 12.07.2011
Сообщений: 68
02.03.2016, 10:25
Цитата Сообщение от Mynamee Посмотреть сообщение
Поможешь?
Чем помочь тебе?
0
4 / 4 / 0
Регистрация: 02.03.2016
Сообщений: 17
02.03.2016, 15:17
Неделю назад взялся за вопрос. Посидел несколько дней - реализовал авторизацию и проверку баланса. Встал на платежах. Есть готовый функционал. Но при обращении в самый ответственный момент выдает ошибку в теле ответа: Invalid Json, вместо нужного содержимого. Перебрал кучу вариантов: и RAW, и json_encode, и Valid JSON, в общем многое-всё одно, иногда даже совсем не отвечает. В итоге Есть подозрение на SSL сертификат. Но, что толком не разберу. Вот решил спросить совета у людей. В общем, нужна помощь)
0
4 / 4 / 0
Регистрация: 02.03.2016
Сообщений: 17
02.03.2016, 23:13
Я вот видел такие решения уже... Почему мне кажется что это фигня какая-то? Просто судя по коду в примере - там творится что-то не совсем то, по крайней мере намека на реальность работы с api киви нет... Да и вообще: как мне его потом под себя редактировать, если он закриптован? Я даже не уверен, что мои данные не проходят через сторонние прокси... Так что ответ один - амексин не надо. Лучше помогли бы с контрольными трудностями, не дорого но часто - те же деньги, но все счастливы)
0
4 / 4 / 0
Регистрация: 02.03.2016
Сообщений: 17
03.03.2016, 00:31
Хорошо, тогда ответь, мне, я тебе дам 300 сразу за подсказку => Почему при последнем запросе платежа (вторая строка с тем самым id), с посылкой правильного запроса всё равно отвечает Invalid Json в массиве body?

Добавлено через 6 минут
Или хотя бы в исходниках покажи эту строку, для примера. Само место где она отправляется к кивям... Тогда, если вопросов не будет я сразу куплю у тебя этот класс.

Добавлено через 11 минут
И API - функциональный набор, при помощи которого, клиент обращается к серверу, для справки... Вот при этом, наверно, здесь API. Сайт киви работает на разработанном ими WEB v3 интерфейсе, который по средствам того самого API и разговаривает с серверами.
0
4 / 4 / 0
Регистрация: 02.03.2016
Сообщений: 17
04.03.2016, 17:57
Вот так вот... а-то развели непонятно что. я могу скинуть скрин твоего класса... там видно как работает IonCube.
а его декриптовать уже не возможно... к сожалению.

Добавлено через 10 минут
В общем последние новости с поля боя: дело не в SSL. Мне удалось подставить их сертификат и отправить запрос - ничего полезного не вышло. Но есть соображения: всем известно, что каждые 30 секунд киви шлет запросы к серверу, так вот - в начале он идет POST-ом и с параметрами, а затем GET-ом и без ничего, но ТГТ ключ всё равно возвращается... я решил сделать так же - и получил 500 Internal eror... дело в том что в qiwi-sso-main-server есть пару строк, которые на запрос GET получают и отдают обратно один и тот же ТГТ ключ. т.е. не к серверу запрос, а к внутренней библиотеке js на клиенте. не секрет, что стоит что-то подобное сниффа запросов в самом коде клиента. Отсюда 3 ветки: 1-либо я до сих пор не могу грамотно собрать json запрос (что вряд ли), 2-либо это запрос к js, 3-либо я до сих пор далек от истины. Ваши комментарии.
0
4 / 4 / 0
Регистрация: 02.03.2016
Сообщений: 17
05.03.2016, 04:27
мне нужен реализованный перевод. а баланс/историю - я и сам запилить могу. да и какие гарантии, что код не шифрован?? две строки абстракции в примере - смеётесь?

Добавлено через 36 минут
короче: нет доказательств реальности кода - дверь знаете где. есть доказательства - принимаю заявки. рассчет по частям: файл-часть, файл-часть... код вперед. тема продажи на условиях "ну ты че, мне не доверяешь?" на этом офф.
0
28 / 4 / 0
Регистрация: 05.03.2016
Сообщений: 9
05.03.2016, 17:16
Цитата Сообщение от yankeenoobs Посмотреть сообщение
Да, но больше интересует откуда появляется загадочный ID.
ID ни что иное как
JavaScript
1
(new Date()).getTime().toString()
0
4 / 4 / 0
Регистрация: 02.03.2016
Сообщений: 17
05.03.2016, 17:20
в принципе на js ты прав)
0
4 / 4 / 0
Регистрация: 02.03.2016
Сообщений: 17
05.03.2016, 17:43
Ну это уж я сам буду решать...
А насчет покупок: я рассматриваю вариант покупки у тебя, но что-то ты сильно не хочешь какие-либо гарантии предоставлять. Будь ты честный продавец уже давно бы решил этот вопрос. хочешь, кинь сюда доказательства - я куплю класс. Нет гарантий/доказательств, не хочешь по частям пересылку при покупке...боишься, что что-то не так? Это не решение моего вопроса...и не решение вопросов других людей. Это пока только решение твоих личных финансовых проблем...и, судя по твоему поведению, еще и обман.
Жду тебя в гостях).

Добавлено через 37 секунд
Спасибо, что пишешь) хоть понятно стало кто ты на самом деле.

Добавлено через 5 минут
У тебя автооплаты получились?
0
28 / 4 / 0
Регистрация: 05.03.2016
Сообщений: 9
05.03.2016, 17:47
Цитата Сообщение от Mynamee Посмотреть сообщение
У тебя автооплаты получились?
Если ты мне то я еще не приступал. Может завтра запросы составлю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.03.2016, 17:47

Авторизация curl (различие между curl и ajax запросами)
Есть ли различие в передаче данных в json формате через curl и ajax? Я хочу написать запрос, который будет авторизировать пользователя на...

Авторизация на qiwi
Добрый день, прошу помощи, не могу авторизироватся на qiwi, вот код $USER_LOGIN = &quot;XXXX&quot;; $USER_PASSWORD = &quot;XXXX&quot;; ...

Авторизация curl
Всем добрый день! Возникла проблема, мне нужно проверять данные на сайте, чтобы их посмотреть нужно авторизоваться, можно ли как то 1...

Curl авторизация
Здравствуйте подскажите как через курл сделать авторизацию на сайте? Отправляем на сайт для авторизации такие вот значения: ...

CURL авторизация
Здравствуйте. Хотел сделать парсер баланса с teasernet.com с помощью cURL но не работает авторизация почему то. Вот код класса: &lt;? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru