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

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

14.07.2013, 23:27. Показов 51856. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru