【发布时间】:2016-08-04 21:15:16
【问题描述】:
我正在尝试获取https://www.google.com/webmasters/tools/index-status?hl=en&authuser=0&siteUrl=xxx 的源代码,以获取由于某种原因未通过webmasters v3 API 公开的索引状态编号。
现在我不能只打一个HTTParty.get(url) 电话,因为这只会让我重定向到帐户登录页面 (https://accounts.google.com/ServiceLogin?xxxxxx)。如果我运行 HTTParty.get(url, {follow_redirects: false}) 我会收到 302 错误,因为该页面无法将我重定向到 Google 的登录页面。
基本上问题是:是否可以获取我现有的登录 cookie 并将其提供给脚本,或者让脚本“登录”然后存储会话 cookie?
后半部分主要包括:
- 致电
https://accounts.google.com - POST 提交登录表单
- 等待响应,保存 cookie
- 使用该会话转到上述搜索控制台 URL
【问题讨论】:
-
请阅读“How to Ask”和链接页面。如果您在使用代码时遇到问题,请阅读“minimal reproducible example”。我们需要更好地描述问题。我们需要更好地了解您是如何做到这一点的。你看过使用Mechanize 吗?它旨在帮助浏览网站并为您处理 cookie。
-
谢谢。使用 Mechanize,我能够获取我的 google 会话并抓取我需要的网站。
标签: ruby session authentication cookies get