2

我有一个脚本,每周他们都会将我的发票寄给我,挖掘信息并将其发布到 xpenser.com 时,它会进入 Fedex Billing。在最近的 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,但它会传入可变字符串,如果您点击正确的字符串,您可以通过这种方式进行身份验证。我希望在这里做到这一点。

4

1 回答 1

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

尝试这个。它可以帮助你

于 2011-05-13T13:16:27.803 回答