我只是想知道一些有关mechanize
的信息,并从互联网上找到了以下代码:
require 'mechanize'
require 'logger'
agent = Mechanize.new
agent.user_agent_alias = 'Windows IE 9'
agent.follow_meta_refresh = true
agent.log = Logger.new(STDOUT)
有人可以解释一下,当mechanize
本身就是一个浏览器时,为什么需要user_agent_alias
和follow_meta_refresh
?
最佳答案
Mechanize 不是浏览器。它是一个页面解析器,为您提供足够的方法,使您可以轻松/方便地浏览网站。但是,它绝不是浏览器。
user_agent_alias
设置 Mechanize 在运行和发出页面请求时的签名。在您的示例中,它试图通过伪装成“IE 9”来欺骗站点,但该签名不会欺骗任何正在嗅探 User-Agent header 的系统。
follow_meta_refresh
,好吧,您应该花时间搜索带有“refresh”参数的“meta”标签。找出它是微不足道的,然后你就会明白。或者只是 read the documentation为了它。
关于ruby - 为什么我们需要带有 mechanize 对象的 user_agent_alias ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14467526/