Энди, ты классный !!Ваш код помог мне сделать мой скрипт работоспособным и войти в учетную запись Google.Я нашел вашу ошибку через пару часов. Это было о побеге html.Как я обнаружил, Mechanize автоматически экранируется, если он получает в качестве параметра для метода get.Итак, мое решение:
EMAIL = ".."
PASSWD = ".."
agent = Mechanize.new{ |a| a.log = Logger.new("mech.log")}
agent.user_agent_alias = 'Linux Mozilla'
agent.open_timeout = 3
agent.read_timeout = 4
agent.keep_alive = true
agent.redirect_ok = true
LOGIN_URL = "https://www.google.com/accounts/Login?hl=en"
login_page = agent.get(LOGIN_URL)
login_form = login_page.forms.first
login_form.Email = EMAIL
login_form.Passwd = PASSWD
login_response_page = agent.submit(login_form)
redirect = login_response_page.meta[0].uri.to_s
puts redirect.split('&')[0..-2].join('&') + "&continue=https://www.google.com/"
followed_page = agent.get(redirect.split('&')[0..-2].join('&') + "&continue=https://www.google.com/adplanner")
pp followed_page
Это прекрасно работает для меня.Я заменил параметр continue из метатега (который уже экранирован) новым.