具体来说,我希望能够从我的用户配置文件中的各个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
几分钟后,我收到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.
那么,如何从命令行自动登录启用了OpenID的网站?
PS。我认为这比Web应用程序更适合这里,因为我的问题实际上是关于命令行方面的,而不是所讨论网页的实际细节。我想任何解决方案都将适用于所有OpenID网站。
3
您是否研究过SE API(api.stackexchange.com),看它是否提供了您所需要的信息?这是获得程序访问数据的官方方法,它使用OAuth进行身份验证。
—
2013年
我实际上并没有使用SE API,但是在其他OAuth实现中,我曾经使用过一次登录,并且获得了无限期有效的令牌。
—
13年