2013-07-03 27 views
3

我得到了一个简单的登录脚本,它可以正常工作,直到它尝试使用像åäö等字母。我没有得到任何的错误,但登录只是失败,所以我认为编码混淆了它。我该如何解决这个问题?提前致谢!红宝石机械化登录问题(编码)

# encoding: utf-8 

require 'nokogiri' 
require 'mechanize' 
agent = Mechanize.new 

page = agent.get("site.com/login.php") 

form = page.forms.last 
form.namn = 'Johan.Björk' 
form.losen = 'password' 
button = form.button_with(:value => "Login") 
site = agent.submit(form, button) 

if site.body.include? "Wrong User/Password" 
    puts 'fail' 
else 
    puts 'success' 
end 
+0

什么是错误?脚本的编码是什么? – pguardiario

+0

错误是,登录失败的用户与他们的名字åäö,但我知道凭据是正确的。正如它在顶部所示,编码是utf-8? –

+0

你有没有试过latin1? – pguardiario

回答

0

尝试:

# encoding: utf-8 

require 'nokogiri' 
require 'mechanize' 
agent = Mechanize.new 

page = agent.get("site.com/login.php") 

form = page.forms.last 
form.namn = 'Johan.Björk' 
form.losen = 'password' 
site = agent.submit(form, form.buttons.first) 

if site.body.include? "Wrong User/Password" 
    puts 'fail' 
else 
    puts 'success' 
end 

还要确保您运行的是最新版本。