1

我正在尝试创建一个 ruby​​ 工具,该工具使用 mechanize 将我登录到我的 oracle 帐户并显示以下主站点。

#!/usr/bin/ruby
require 'rubygems'
require 'open-uri'
require 'mechanize' 
require 'nokogiri'

agent = Mechanize.new
login_form = agent.get("https://login.oracle.com/mysso/signon.jsp").form("LoginForm")
login_form.request_id = 'username'
login_form.locale = 'password'

page = agent.submit(login_form, login_form.buttons.first)
page.body.match /content="1;URL=(.*?)"/
nexturl = $1
newpage = agent.get nexturl
puts newpage.body

目前我可以加载下一页,但我只收到登录失败的消息(“系统错误。请重试您的操作。”)。也许问题是登录站点是 https:// 站点?

我发现问题在于 Mechanize 甚至没有获得所需的登录字段:

<form method="post" action="/oam/server/sso/auth_cred_submit" name="LoginForm"         autocomplete="off">
<input type="hidden" name="v" value="v1.4">
<input type="hidden" name="request_id" value="">
<input type="hidden" name="locale" value="">
<span id="errormsg" class="error-show">
Error! Do not use bookmarked URL.<br>Please type the URL you are trying to reach directly into your browser.
</span>
</form>

如果我卷曲网站,我会收到这些错误,并且必填字段甚至不在收到的表单中。我需要登录的字段从错误消息所在的位置开始......

谢谢你的帮助

4

0 回答 0