关于Ruby的HTTP访问,怎样保持会话状态

Jeffery 发布于 2011/10/26 10:28
阅读 755
收藏 1

我想用Ruby程序对网站进行自动投稿,网站有登陆认证,我用以下代码通过登陆认证后,怎样才能保持住会话状态呢?

require 'mechanize'

agent = Mechanize.new
agent.get('http://localhost/login/auth') do |login_page|

my_page = login_page.form_with(:action => '/csvn/j_spring_security_check') do |f|
  f.username = 'admin'
  f.password = 'password'
end.click_button

end
加载中
0
大苹果
大苹果
cookie 啊 session 啊.不够用么?
0
Jeffery
Jeffery

引用来自“OO&&XX”的答案

cookie 啊 session 啊.不够用么?
就是不知道“ mechanize”怎么控制session呀
0
Jeffery
Jeffery

引用来自“OO&&XX”的答案

参考这个试了一下确实是能够通过登陆认证,抓下“我的短信”页面的link信息(代码如下),可换成我自己的站点就不行了呢,哎,郁闷呀。。。我在研究一下吧,多谢OO&&XX

require 'rubygems'
require 'mechanize'

agent = Mechanize.new
agent.max_history = 1
agent.user_agent_alias = 'Windows IE 7'

page = agent.get("http://www.iteye.com/login")
form = page.forms[0]
form.fields[0].value = "账号"
form.fields[1].value = "密码"
agent.submit form

page = agent.get("http://app.iteye.com/messages")
page.links.each do |link|
  href = link.href.strip
  next unless href.length > 0
  puts href
end

返回顶部
顶部