基本的HTTP身份验证 - 使用Cookie进行wget

时间:2017-05-17 18:19:59

标签: linux shell authentication wget

我正在使用以下命令从站点检索数据:

wget http://www.example.com --user=joe --password=schmoe --auth-no-challenge

我将其扩展为递归,但我的理解是,这将在每个请求上重新发送HTTP Auth凭证。

因此,是否可以运行基本HTTP身份验证一次,捕获cookie,然后使用这些cookie触发递归加载?

这似乎不起作用:

wget --save-cookies=cookies.txt --user=joe --password=schmoe --auth-no-challenge http://www.example.com

其次是:

 wget --load-cookies=cookies.txt -r -p http://www.example.com/pages.html

1 个答案:

答案 0 :(得分:2)

HTTP Basic身份验证方案为not a persistent, cookie-based authentication scheme,例如Bearer方案(例如Oauth2),因此凭据需要在所有后续传递要求。例外情况将在" 应用程序"如果浏览器缓存凭据,则该层,但这是一个浏览器便利构造(其中一个有minimal control结束)并且在这种情况下不适用wget

  

Here是HTTP基本drawbacks的一个很好的摘要,包括需要与每个请求一起发送凭据的事实。

查看Hypertext Transfer Protocol (HTTP) Authentication Scheme Registry以获取完整的身份验证方案列表。