ter*_*don 10 linux openid wget command-line curl
具体来说,我希望能够从我在各种 Stack Exchange 站点上的用户配置文件中下载某些页面。但是,我想cron从命令行以可解析的格式自动执行此操作(使用作业)。我更喜欢为此使用 Linux,但如果需要,我可以访问 Mac 或 Windows 机器。
理想情况下,我想使用像Wget或cURL这样的工具来获取页面。我不知道如何通过登录。我看到一些建议提到您可以通过 Firefox 登录,导出相关 cookie 并通过其--load-cookies选项将其导入 Wget 。例如这里和这里。虽然这在我刚刚登录时有效,但一段时间后就无效了。我猜是因为必须刷新 ID 令牌。
因此,在登录 SU 并导出我的 cookie 后,我可以执行以下操作:
wget --load-cookies cookies.txt \
https://superuser.com/users/151431/terdon?tab=responses
Run Code Online (Sandbox Code Playgroud)
几分钟后,我收到 404 错误:
wget -O ~/stack/$(date +%s) --load-cookies ~/cookies.txt \
https://superuser.com/users/151431/terdon?tab=responses
--2013-08-06 04:04:14-- https://superuser.com/users/151431/terdon?tab=responses
Resolving superuser.com (superuser.com)... 198.252.206.16
Connecting to superuser.com (superuser.com)|198.252.206.16|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2013-08-06 04:04:15 ERROR 404: Not Found.
Run Code Online (Sandbox Code Playgroud)
那么,如何从命令行自动登录到启用了 OpenID 的网站?
附注。我认为这比 Web 应用程序更适合这里,因为我的问题实际上是关于命令行方面的,而不是有关网页的实际细节。我猜想任何解决方案都适用于所有OpenID站点。
小智 -3
(重新)阅读 的手册页并查看和标志wget的描述。--user--password
请注意,不建议将密码作为命令行参数传递,因为任何运行的人都 ps可以看到它。最佳做法是不要将原始密码保存在任何地方,但次佳做法是将其放入只有所有者可以读取的文件中。