[英]Mechanize: not logged in the site
我正在尝试使用gem 机械化授权到其他站点
我的代码:
def login_zenit
agent = Mechanize.new
agent.get('http://mobile.zenitbet.com/') do |p|
f = p.forms.first
f.login = 'login'
f.fields[1].value = 'password'
f.submit
end
agent.get('http://mobile.zenitbet.com/')
redirect_to root_url
end
问题是当我运行login_zenit
时不起作用-我未授权使用Web浏览器访问该站点。 尽管如果我在rails console
运行此代码,它会完美运行。 我在哪里弄错了? 也许redirect_to root_url
有问题?
谢谢!
通常是不可能的。 为此,访问您的应用程序需要为mobile.zenibet.com设置适当的cookie。
您确实具有这些cookie值-它们位于机械化对象内,但是即使要提取它们,也无法在正确的域上设置它们。 如果您的应用是从foo.com提供服务,则浏览器将允许您在foo.com或其任何子域上设置cookie,但不允许您在另一个任意域上设置cookie(请参见5.3.3节的第5点)。 射频 )
除非您的应用程序在zenibet.com的子域上运行,否则我认为您不走运
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.