我正在使用以下命令从站点检索数据:
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
答案 0 :(得分:2)
HTTP Basic身份验证方案为not a persistent, cookie-based authentication scheme,例如Bearer方案(例如Oauth2),因此凭据需要在所有后续传递要求。例外情况将在" 应用程序"如果浏览器缓存凭据,则该层,但这是一个浏览器便利构造(其中一个有minimal control结束)并且在这种情况下不适用wget
。
查看Hypertext Transfer Protocol (HTTP) Authentication Scheme Registry以获取完整的身份验证方案列表。