Tag: 刮网

在Mechanize请求之间维护cookie

我正在尝试使用Ruby版本的Mechanize从票证管理系统中提取我的雇主的票证,我们正在远离那些不提供API的票证管理系统。 问题是,似乎Mechanize没有在post调用和下面显示的get调用之间保留cookie: require ‘rubygems’ require ‘nokogiri’ require ‘mechanize’ @agent = Mechanize.new page = @agent.post(‘http://.com/user_session’, { ‘authenticity_token’ => ”, ‘user_session[login]’ => ”, ‘user_session[password]’ => ”, ‘user_session[remember_me]’ => ‘0’, ‘commit’ => ‘Login’ }) page = @agent.get ‘http://.com///tickets/1′ puts page.title user_session是网站登录页面POST的URL,我已经确认这确实get我登录。但是从get调用返回的页面是’哎呀,你还没有登录!’ 页。 我已经validation了从post调用返回的页面上的click链接是有效的,但我实际上无法在没有JavaScript的情况下到达我需要去的地方。 当然,我已经使用相同的登录function在浏览器上成功完成了这项工作。 我究竟做错了什么?