开发者

Trouble logging in with Ruby's Mechanize

开发者 https://www.devze.com 2023-04-12 07:38 出处:网络
Trying to create an automatic login to a webpage which takes HTTP POST input but failing to do so. Here\'s the webpage: https://job.jobnet.dk/CV/Login/Login.aspx

Trying to create an automatic login to a webpage which takes HTTP POST input but failing to do so.

Here's the webpage: https://job.jobnet.dk/CV/Login/Login.aspx

I created a user stacktest with password abcdefghijklmn1 if you want to try your hand at it.

Here's the not-working code:

require 'rubygems'
require 'mechanize'

agent = Mechanize.new
page = agent.get 'https://job.jobnet.dk/CV/Login/Login.aspx'

login_form = page.form_with(:action => 'Login.aspx')

login_form['ctl00$ctl00$JobnetBaseMiddelContent$LoginContentPlaceHolder$txtUsername'] = 'stacktest'
login_form['ctl00$ctl00$JobnetBaseMiddelContent$LoginContentPlaceHolder$txtPassword'] = 'abcdefghijklmn1'

page = agent.submit login_form

p page # should be a new page but isn't a new page

Needless to say it does not work :)

There is also a hidden input field called __VIEWSTATE which has the value of

/wEPDwUJOTczNzQwMzk1D2QWAmYPZBYCZg9kFgoCAQ8W开发者_如何转开发Ah4EVGV4dAVlPGEgY2xhc3M9Im1lbnUgbG9nb3V0bGluayIgaHJlZj0iL0NWL0xvZ2luL0xvZ2luLmFzcHgiIHRpdGxlPSJMb2cgaW5kIiBpZD0idG9wTGlua3NMb2dpbiI+TG9nIGluZDwvYT5kAgIPFgIfAGVkAgMPZBYEAgEPZBYCAgEPFgIfAAUSbG9nIGluZCBww6Ugam9ibmV0ZAIFD2QWAgIBD2QWCgIPDxYEHgVjbGFzcwVFbG9naW5mdWxsbGluZV9sZWZ0YWxpZ25fbGVmdHBhZCBsb2dpbnNwYWNlYWZ0ZXIgZXJyb3JDb250YWluZXJFbGVtZW50HgdWaXNpYmxlaGQCFQ9kFgICAQ8PFgIeC05hdmlnYXRlVXJsBQ4vQ1YvbG9naW4uYXNoeGRkAhcPFgIeBGhyZWYFIC9DVi9Mb2dpbi9Gb3Jnb3R0ZW5QYXNzd29yZC5hc3B4ZAIZD2QWBAIDD2QWAgIBDxYCHwQFHy9DVi9Mb2dpbi9OZXdVc2VySm9iU2Vla2VyLmFzcHhkAgUPZBYCAgEPDxYCHwMFDi9DVi9sb2dpbi5hc2h4ZGQCGw9kFgQCAQ9kFgICAQ8WAh8EBR8vQ1YvTG9naW4vTmV3VXNlckpvYlNlZWtlci5hc3B4ZAIDD2QWAgIBDw8WAh8DBQ4vQ1YvbG9naW4uYXNoeGRkAgQPFgIfAAX7Ajx1bD48bGk+PGEgaHJlZj0iaHR0cHM6Ly9pbmZvLmpvYm5ldC5kay92aWEyMDUuaHRtbCI+b20gam9ibmV0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vaW5mby5qb2JuZXQuZGsvdmlhMTE1Lmh0bWwiPmdvZGUgcsOlZCB0aWwgam9ic8O4Z25pbmc8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9pbmZvLmpvYm5ldC5kay92aWEyLmh0bWwiPmJsYW5rZXR0ZXI8L2E+PC9saT48bGk+PGEgaHJlZj0iaHR0cHM6Ly9pbmZvLmpvYm5ldC5kay92aWEyMDYuaHRtbCI+cG9saXRpayBvbSBwZXJzb25kYXRhPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imh0dHBzOi8vaW5mby5qb2JuZXQuZGsvdmlhMjA3Lmh0bWwiPmpvYm5ldCBpbiBlbmdsaXNoPC9hPjwvbGk+PC91bD5kAgUPFgIfAmdkZGZTKNqgl0MJ9Ss0FPqJ0tr8E74T

Cheers


Try this :

require 'rubygems'
require 'mechanize'
require 'pp'

user = 'stacktest'
password = 'abcdefghijklmn1'

agent = Mechanize.new
page = agent.get 'https://job.jobnet.dk/CV/Login/Login.aspx'


form = page.form_with(:action => 'Login.aspx')
form.field_with(:name => "ctl00$ctl00$JobnetBaseMiddelContent$LoginContentPlaceHolder$txtUsername").value = user
form.field_with(:name => "ctl00$ctl00$JobnetBaseMiddelContent$LoginContentPlaceHolder$txtPassword").value = password
page = form.click_button

pp page
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号