RUBY - 机械化:无法登录网站

时间:2016-12-21 11:17:33

标签: ruby mechanize

我正在尝试使用机器人登录shodan.io,但它不起作用。每次我尝试提交表单时,都会转到欢迎页面而不会被记录。

我的代码如下:

@agent = Mechanize.new
@agent.log = Logger.new "mech.log"
main_page = @agent.get('http://www.shodan.io')
form_page = main_page.link_with(:href => "https://account.shodan.io/login").click
form = form_page.form_with(:id =>'login-form')
form.field_with(:name => 'username').value="User"
form.field_with(:name => 'password').value="Pass" 
logged_page=@agent.submit form

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

好的,看起来他们正在检查用户代理。尝试按以下方式设置:

require 'mechanize'

USERNAME = "<your username>"
PASSWORD = "<your password>"
USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"

mechanize = Mechanize.new do |a|
  a.user_agent = USER_AGENT
end

form_page = mechanize.get('https://account.shodan.io/login')
form = form_page.form_with(:id =>'login-form')
form.field_with(:name => 'username').value=USERNAME
form.field_with(:name => 'password').value=PASSWORD
page = form.click_button

puts page.body