html获取用户\通过安全网站

时间:2011-01-20 18:59:28

标签: ruby

我需要用ruby构建以下步骤:
1.进入网站的主页
2.有一个特定的html表单我需要输入user \ pass并点击输入按钮(即html post)
3.从步骤3获取响应(html +登录cookie) 4.使用登录cookie执行许多html get请求(否则我将无权访问该页面)

BTW我试过

url = URI.parse('http://www.example.com/todo.cgi')
req = Net::HTTP::Post.new(url.path)
req.basic_auth 'jack', 'pass'
req.set_form_data({'from'=>'2005-01-01', 'to'=>'2005-03-31'}, ';')
res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }
case res
when Net::HTTPSuccess, Net::HTTPRedirection
  # OK
else
  res.error!
end

它不起作用。

谢谢你们

1 个答案:

答案 0 :(得分:4)

有几种优秀的Ruby宝石可用于自动访问网站。

请参阅:

Nokogiri是HTML解析最受欢迎的宝石。瑞恩贝茨有一个很棒的screencast on MechanizeMechanize是一个用于与网站进行自动交互的Ruby库。它扩展了Nokogiri,允许您与网站上的多个页面进行交互:点击链接,提交表单等。

看看Mechanize。您将获得一个记录良好的Ruby库,并自行保存实现它的工作。