Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.12.2012, 13:27
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

автоматическое заполнение формы
Доброго времени суток!
Делаю php(знаю плохо) скрипт, который будет заполнять поля для авторизации на другом сайте, а потом, залогинившись будет выполнять нужные мне действия.
Подскажите пожалуйста, если знаете, где подглядеть, а то я что то не пойму с чего начать

Так, насколько я понял нужно слать пост или гет запросы в action нужной формы...
__________________
Научу себя плохому

Последний раз редактировалось l-liava-l, 24.12.2012 в 13:56.
Ответить с цитированием
  #2 (permalink)  
Старый 24.12.2012, 14:15
Аватар для pikko
Аспирант
Отправить личное сообщение для pikko Посмотреть профиль Найти все сообщения от pikko
 
Регистрация: 06.10.2012
Сообщений: 60

правильно понял: надо внимательно изучить логику этой страницы с формой (там вполне может быть замешан js) и эмулировать действия браузера ( включая http-заголовки, куки и т.п. )
Ответить с цитированием
  #3 (permalink)  
Старый 24.12.2012, 14:20
Аватар для pikko
Аспирант
Отправить личное сообщение для pikko Посмотреть профиль Найти все сообщения от pikko
 
Регистрация: 06.10.2012
Сообщений: 60

вот ещё полезная ссылка: http://xdan.ru/Pishem-javascript-par...Extension.html
всё можно сделать на js как приложение к google-chrome, и это, вероятно, будет намного проще чем на php(который знаешь плохо)

Последний раз редактировалось pikko, 24.12.2012 в 14:23.
Ответить с цитированием
  #4 (permalink)  
Старый 24.12.2012, 14:32
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
всё можно сделать на js как приложение к google-chrome, и это, вероятно, будет намного проще чем на php(который знаешь плохо)
на js нельзя
Авторизоваться нужно в https://visa.qiwi.com/payment/main.action
Я так понимаю нужно использовать curl, отправлять запрос нужно прямо в main.action, но как это сделать я пока недогнал
__________________
Научу себя плохому
Ответить с цитированием
  #5 (permalink)  
Старый 24.12.2012, 14:34
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от l-liava-l
на js нельзя
Ну моно через яхо трубу post или get запросом залогиниться (нуно проверять, посколь не все сайты доступны для яхо
Ответить с цитированием
  #6 (permalink)  
Старый 24.12.2012, 14:43
Аватар для pikko
Аспирант
Отправить личное сообщение для pikko Посмотреть профиль Найти все сообщения от pikko
 
Регистрация: 06.10.2012
Сообщений: 60

на js это будет в стопитсот раз проще — браузер сделает за тебя большую часть работы ( включая куки, хттп-заголовки и исполнение всего js этой страницы ).
попробуй заполнить необходимые поля и эмулировать нажатие "Войти".
если же
Сообщение от l-liava-l
на js нельзя
по идеологическим причинам, то сочувствую — серверным скриптом это будет сделать намного сложней
Ответить с цитированием
  #7 (permalink)  
Старый 24.12.2012, 14:50
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 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.
Ответить с цитированием
  #8 (permalink)  
Старый 24.12.2012, 19:26
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

По чуть чуть продвигаюсь, авторизовыатся научился, а как подставить нужные значения в нужные поля формы и нажать на кнопку подтвердить? а то напрямую слать запросы не получится номер транзакции постоянно разный
__________________
Научу себя плохому
Ответить с цитированием
  #9 (permalink)  
Старый 25.12.2012, 17:46
Аватар для pikko
Аспирант
Отправить личное сообщение для pikko Посмотреть профиль Найти все сообщения от pikko
 
Регистрация: 06.10.2012
Сообщений: 60

// в код страницы не смотрел — нет времени,
// но, вероятно как-то так:

document.getElementById('нужное поле формы').value = 'нужное значение';
функция-обработчик-онклик-кнопки-подтвердить();

// ты это спрашивал?
// :)

// UPD: хотя я гоню — этож скрипты с разных доменов
// так просто не получится

// UPD: UPD: можно посмотреть что, куда и как отправляет
// функция-обработчик-онклик-кнопки-подтвердить();
// и попробовать отправить туда же нужные данные самому


и я тут подумал — может у киви какой-то апи есть для сторонних разработчиков? что бы на спичках и изоленте не городить карточные домики.

Последний раз редактировалось pikko, 25.12.2012 в 17:59.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение полей формы в новом окне Soundwave Элементы интерфейса 3 23.03.2012 03:25
Автоматическое создание формы с помощью json. Пак ExtJS 6 01.12.2011 16:01
Проверка формы на заполнение ybiza Элементы интерфейса 3 03.11.2010 22:28
Заполнение формы одним кликом ANDR Ваши сайты и скрипты 5 10.05.2010 21:09
Автоматическое получение данных из формы Beck jQuery 6 06.11.2009 18:01