Mantener cookies entre solicitudes de Mechanize
Estoy tratando de usar la versión Ruby de Mechanize para extraer los boletos de mi empleador de un sistema de administración de boletos del que nos estamos alejando y que no proporciona una API.
Problema es, parece que Mechanize no guarda las cookies entre lapost
llamada y laget
llamada que se muestra a continuación:
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
es la URL a la que la página de inicio de sesión del sitio POSTs, y he verificado que esto realmente me conecta. Pero la página que regresa deget
call es '¡Vaya, no has iniciado sesión!' página
He verificado queclick
ing enlaces en la página que regresa de lapost
call funciona, pero en realidad no puedo llegar a donde tengo que ir sin JavaScript. Y, por supuesto, lo hice con éxito en el navegador con el mismo inicio de sesión.
¿Qué estoy haciendo mal