Ruby Mechanize 405 Net :: HTTPMethodNotAllowed Ошибка при очистке счетов FedEx - PullRequest
2 голосов
/ 05 мая 2011

У меня есть скрипт, который отправляется в FedEx Billing каждую неделю, когда мне отправляют мой счет по почте, выкапывают информацию и отправляют его на 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, которая, кажется, создает URL, который устанавливает скрытые переменные. Я пытался передать различные комбинации переменных строк без успеха.

Хотя Mechanize не поддерживает javascript, он будет передавать переменные строки, и если вы нажмете правильную строку, вы можете авторизоваться таким образом. Я надеюсь сделать это здесь.

1 Ответ

0 голосов
/ 13 мая 2011

С использованием 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

попробуй это. это может помочь вам

...