繁体   English   中英

机械化:未登录站点

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM