Я пытаюсь использовать Ruby-версию Mechanize для извлечения моих билетов на работодателя из системы управления билетами, от которой мы уходим, и не предоставляет API.
Проблема в том, что Mechanize не поддерживает файлы cookie между вызовом post
и вызовом get
, показанным ниже:
require 'rubygems'
require 'nokogiri'
require 'mechanize'
@agent = Mechanize.new
page = @agent.post('http://<url>.com/user_session', {
'authenticity_token' => '<token>',
'user_session[login]' => '<login>',
'user_session[password]' => '<password>',
'user_session[remember_me]' => '0',
'commit' => 'Login'
})
page = @agent.get 'http://<url>.com/<organization>/<repo-name>/tickets/1'
puts page.title
user_session
- это URL-адрес, на который отправляются POST-страницы учетной записи сайта, и я подтвердил, что это действительно меня ввело. Но страница, возвращающаяся из вызова get
, - это "Упс, вы не зарегистрированы в!' стр.
Я проверил, что click
ссылки на странице, которая возвращается из вызова post
, работает, но я не могу добраться до того, где мне нужно идти без JavaScript. И, конечно, я сделал это успешно в браузере с тем же именем.
Что я делаю неправильно?