24.12.2012, 13:27
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
автоматическое заполнение формы
Доброго времени суток!
Делаю php(знаю плохо) скрипт, который будет заполнять поля для авторизации на другом сайте, а потом, залогинившись будет выполнять нужные мне действия.
Подскажите пожалуйста, если знаете, где подглядеть, а то я что то не пойму с чего начать
Так, насколько я понял нужно слать пост или гет запросы в action нужной формы...
__________________
Научу себя плохому
Последний раз редактировалось l-liava-l, 24.12.2012 в 13:56.
|
|
24.12.2012, 14:15
|
|
Аспирант
|
|
Регистрация: 06.10.2012
Сообщений: 60
|
|
правильно понял: надо внимательно изучить логику этой страницы с формой (там вполне может быть замешан js) и эмулировать действия браузера ( включая http-заголовки, куки и т.п. )
|
|
24.12.2012, 14:20
|
|
Аспирант
|
|
Регистрация: 06.10.2012
Сообщений: 60
|
|
вот ещё полезная ссылка: http://xdan.ru/Pishem-javascript-par...Extension.html
всё можно сделать на js как приложение к google-chrome, и это, вероятно, будет намного проще чем на php(который знаешь плохо)
Последний раз редактировалось pikko, 24.12.2012 в 14:23.
|
|
24.12.2012, 14:32
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
Цитата:
|
всё можно сделать на js как приложение к google-chrome, и это, вероятно, будет намного проще чем на php(который знаешь плохо)
|
на js нельзя
Авторизоваться нужно в https://visa.qiwi.com/payment/main.action
Я так понимаю нужно использовать curl, отправлять запрос нужно прямо в main.action, но как это сделать я пока недогнал
__________________
Научу себя плохому
|
|
24.12.2012, 14:34
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от l-liava-l
|
на js нельзя
|
Ну моно через яхо трубу post или get запросом залогиниться (нуно проверять, посколь не все сайты доступны для яхо
|
|
24.12.2012, 14:43
|
|
Аспирант
|
|
Регистрация: 06.10.2012
Сообщений: 60
|
|
на js это будет в стопитсот раз проще — браузер сделает за тебя большую часть работы ( включая куки, хттп-заголовки и исполнение всего js этой страницы ).
попробуй заполнить необходимые поля и эмулировать нажатие "Войти".
если же
Сообщение от l-liava-l
|
на js нельзя
|
по идеологическим причинам, то сочувствую — серверным скриптом это будет сделать намного сложней
|
|
24.12.2012, 14:50
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
Цитата:
|
на js это будет в стопитсот раз проще — браузер сделает за тебя большую часть работы ( включая куки, хттп-заголовки и исполнение всего js этой страницы ).
попробуй заполнить необходимые поля и эмулировать нажатие "Войти".
если же
Сообщение от l-liava-l
на js нельзя
по идеологическим причинам, то сочувствую — серверным скриптом это будет сделать намного сложней
|
нельзя потому что деньги стырят, мне нужно чтобы именно сервер выполнял все действия а не клиент, ибо скрипт будет выполнятся у любого человека посетившего сервис, браузер вобще не должен фигурировать.
<?php
function get_t($cookie)
{
//получаем идентификатор операции
preg_match('|\"t\":\"(.*?)\"|', curl('https://w.qiwi.com/user/person/account/transfer.action', $cookie), $tmp);
return $tmp[1];
}
$number = ' ';
$password = ' ';
//авторизация
preg_match('|Set-Cookie: (.*?);|', curl('https://w.qiwi.com/auth/login.action?source=MENU&login=%2B'.$number.'&password='.$password, null, array('Accept: application/json, text/javascript, */*; q=0.01', 'X-Requested-With: XMLHttpRequest')), $tmp);
$cookies = $tmp[1];
function curl($url, $cookie = false, $httpheaders = false)
{
}
?>
Вот надыбал авторизацию, а как проверить что мы залогинились?
__________________
Научу себя плохому
Последний раз редактировалось l-liava-l, 24.12.2012 в 14:58.
|
|
24.12.2012, 19:26
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
По чуть чуть продвигаюсь, авторизовыатся научился, а как подставить нужные значения в нужные поля формы и нажать на кнопку подтвердить? а то напрямую слать запросы не получится номер транзакции постоянно разный
__________________
Научу себя плохому
|
|
25.12.2012, 17:46
|
|
Аспирант
|
|
Регистрация: 06.10.2012
Сообщений: 60
|
|
// в код страницы не смотрел — нет времени,
// но, вероятно как-то так:
document.getElementById('нужное поле формы').value = 'нужное значение';
функция-обработчик-онклик-кнопки-подтвердить();
// ты это спрашивал?
// :)
// UPD: хотя я гоню — этож скрипты с разных доменов
// так просто не получится
// UPD: UPD: можно посмотреть что, куда и как отправляет
// функция-обработчик-онклик-кнопки-подтвердить();
// и попробовать отправить туда же нужные данные самому
и я тут подумал — может у киви какой-то апи есть для сторонних разработчиков? что бы на спичках и изоленте не городить карточные домики.
Последний раз редактировалось pikko, 25.12.2012 в 17:59.
|
|
|
|