Need help translating Ruby code

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • trihaitran
    New Member
    • Feb 2008
    • 7

    Need help translating Ruby code

    Hi I am new to Ruby from Python and am still learning some stuff. I
    have a Ruby program that uses the mechanize library to connect to a Web
    site and authenticate with a username and password. The issue I have is
    that I need to get this code translated into Python. The Python
    mechanize library is not very well documented and I was wondering if
    anyone here had any experience using this library in Ruby or Python.
    Basically the only tricky part of this program is that it needs to add a
    field to the form on the page. This extra field, "__EVENTTARGET" , needs
    to be added explicitly. I cannot find the Python equivalent to the
    WWW::Mechanize: :Form::Field.ne w(nil,nil) method. Thank you in advance.
    I hope I explained myself well.

    Code:
    require 'rubygems'
    require 'mechanize'
     
    Hpricot.buffer_size = 262144
     
    auth = {
      :username => "bugmenot2008@yahoo.com",
      :password => "letmeinalready"
    }
     
    login_url = "http://www.princetonreview.com/Login3.aspx?uidbadge=" # !>
    `&' interpreted as argument prefix
    agent  = WWW::Mechanize.new
    page = agent.get( login_url )
    my_form = page.forms.first
     
    my_form['ctl00$MasterMainBodyContent$txtUsername']= auth[:username]
    my_form['ctl00$MasterMainBodyContent$txtPassword']= auth[:password]
     
     
    target_field = WWW::Mechanize::Form::Field.new(nil,nil)
    target_field.name = "__EVENTTARGET"
    target_field.value  = "ctl00$MasterMainBodyContent$btnLogin"
    my_form.fields << target_field
     
    new_page = my_form.submit
     
    # examine output to make sure it worked
    new_page = agent.get("http://www.princetonreview.com/YourStuff.aspx")
     
    pp new_page
  • xenoix
    New Member
    • Mar 2009
    • 15

    #2
    auth = {
    :username => "bugmenot2008@y ahoo.com",
    :password => "letmeinalready "
    }
    I wonder if thats a real username/password...

    Comment

    Working...