Ruby Mechanize登录表单提交错误

时间:2017-04-10 04:54:44

标签: ruby mechanize

    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

我正在尝试登录然后重定向到该页面,但它会再次重定向我的登录页面。我也试过这样做,但我仍有同样的问题。

  # 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

我的表格的漂亮打印是:

{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]}>}>

1 个答案:

答案 0 :(得分:1)

以下是浏览器发送的内容:

  • currentTime:MTQ5MTg3OTYzNDAwMA ==
  • userId:foo
  • 密码:37b51d194a7513e45b56f6524f2d51f2
  • password1:bar

密码看起来像md5,currentTime是时间戳的base64(在这种情况下为1491879634000)。