Как настроить пользовательский агент для Mechanize in Rails
Я знаю, что у вас есть набор предопределенных псевдонимов, которые вы можете использовать, например, установив agent.user_agent_alias = 'Linux Mozilla', но что, если я хочу установить свой собственный агент пользователя, поскольку я пишу веб-искателя и хотите определить его, для сайтов, которые я индексирую ради. Также как Googlebot.
Кажется, что метод user_agent, но я не могу найти никакой документации об этой функции.
Ответы
Ответ 1
Пользовательский агент можно установить из псевдонима
a = Mechanize.new
a.user_agent_alias = 'Mac Safari'
Доступные псевдонимы хранятся в константе AGENT_ALIASES
.
p Mechanize::AGENT_ALIASES
В противном случае используйте #user_agent
, чтобы настроить пользовательский агент.
a = Mechanize.new
a.user_agent = 'Custom agent'
Ответ 2
Я искал способ установить случайный пользовательский агент для Mechanize, поэтому я закончил это:
a = Mechanize.new do |agent|
agent.user_agent_alias = (Mechanize::AGENT_ALIASES.keys - ['Mechanize']).sample
end
Ответ 3
Просто, чтобы получить новый агент, который не механизирует
Mechanize::AGENT_ALIASES[(Mechanize::AGENT_ALIASES.keys - ['Mechanize']).sample]
Ответ 4
Как ответил @Arkhitech, теперь вы хотели бы сделать:
agt = Mechanize.new
agt.agent.user_agent = Mechanize::AGENT_ALIASES[(Mechanize::AGENT_ALIASES.keys - ['Mechanize']).sample]
user_agent_alias
больше не доступен.