我每周都有一个脚本进入联邦快递账单,当他们将我的发票邮寄给我,挖掘信息并将其发布到xpenser.com。在最近的Fedex Billing网站重新设计之后,当我运行此代码时:
agent = Mechanize.new
page = agent.get 'http://fedex.com/us/fcl/pckgenvlp/online-billing/'
form = page.form_with(:name => 'logonForm')
form.username = FEDEX['username']
form.password = FEDEX['password']
page = agent.submit form
pp page
我收到此错误:
Mechanize::ResponseCodeError: 405 => Net::HTTPMethodNotAllowed
我看到有一个javascript auth函数似乎构建了一个设置隐藏变量的URL。我试图传递变量字符串的各种组合但没有成功。
虽然Mechanize不支持javascript,但它会传入变量字符串,如果你点击了正确的字符串,你可以通过这种方式进行授权。我希望在这里做到这一点。
答案 0 :(得分:0)
使用mechanize-1.0.0可以起到以下作用:
agent = Mechanize.new
page = agent.get 'http://fedex.com/us/fcl/pckgenvlp/online-billing/'
form = page.form_with(:name => 'logonForm')
form.username = FEDEX['username']
form.password = FEDEX['password']
form.add_field!('field_name', 'Page$2')
page = agent.submit form
pp page
试试这个。它可能对你有帮助