Ручной запрос POST - PullRequest
       9

Ручной запрос POST

1 голос
/ 22 января 2010

Сценарий: Я зашел на сайт, получил куки и т. Д., Попал на определенную веб-страницу с формой + скрытые поля. Теперь я хочу иметь возможность создать свой собственный пост http с моими собственными скрытыми данными формы вместо того, что находится на веб-странице, и проверить ответ вместо того, чтобы использовать ответ на веб-странице.

Причина: Тестирование на основе уже существующих данных (я знаю, я знаю), которые могут отличаться в каждой среде, следовательно, нет предсказуемого способа их использования. Нам нужен обходной путь.

Есть ли способ сделать это, не редактируя вручную существующую форму и не отправляя ее? Чувствую себя немного «хакером».

В идеале я хотел бы сказать что-то вроде:

browser.post 'url', 'field1 = test & field2 = abc'

1 Ответ

3 голосов
/ 22 января 2010

Я бы, вероятно, переключился на механизацию, чтобы обойти на уровне протокола. Нечто подобное добавлено в ваш скрипт

b = WWW::Mechanize.new
 b.get('http://yoursite.com/current_page') do |page|
 # Submit the login form
 my_form = page.form_with(:action => '/post/url') do |f|
   f.form_loginname  = 'tim'
   f.form_pw         = 'password'
 end.click_button
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...