简体   繁体   中英

Ruby Mechanize Login form submit error

    require "mechanize"

    a = Mechanize.new { |agent| agent.user_agent_alias = 'Mac Safari' }
    a.get('http://erp.jecrcuniversity.edu.in:8084/jecrc_academia/') do |page|
       page.form_with(name: "loginForm") do |f|
        f.userId = ARGV[0]
        f.password1 = ARGV[1]
      end.submit
    end

    a.get('http://122.15.3.5:8084/jecrc_webguru/login.do') do |page|
      pp page
    end

I am trying to login and then redirect to the page but it keeps redirecting me the login page again. I have also tried to do this but i still have same problem.

  # jecrc_form = page.form('loginForm')
  # username_field = jecrc_form.field_with(:name => 'userId')
  # username_field.value = ARGV[0];
  # password_field = jecrc_form.field_with(:name => 'password1')
  # password_field.value = ARGV[1]
  # jecrc_form.click_button

Pretty Print of my form is:

{forms
      #<Mechanize::Form
       {name "loginForm"}
       {method "POST"}
       {action "/jecrc_academia/CommonLoginCheck.do
       ;sessionid=1EA144A84FA0B3845126723B95634B4F"}            
       {fields
        [hidden:0x126d9e0 type: hidden name: currentTime value: ]
        [text:0x126d88c type: text name: userId value: ]
        [hidden:0x126d738 type: hidden name: password value: ]
        [field:0x126d5e4 type: password name: password1 value: ]}
       {radiobuttons}
       {checkboxes}
       {file_uploads}
       {buttons [button:0x126d47c type: button name:  value: Login]}>}>

Here's what the browser sends:

  • currentTime: MTQ5MTg3OTYzNDAwMA==
  • userId: foo
  • password: 37b51d194a7513e45b56f6524f2d51f2
  • password1: bar

The password looks like a md5 and the currentTime is a base64 of a timestamp (1491879634000 in this case).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM