wget 中的多个用户凭据

wget 中的多个用户凭据

使用wget,在镜像具有多个具有不同凭据的密码保护区域的网站时,是否可以提供多个用户/密码对?

我想镜像具有多个保护区的整个网站。作为一个简化的示例,请考虑以下结构:

example.com/protected_area_1/ (user=alice, password=cat)
example.com/protected_area_2/ (user=bob, password=dog)

现在,在使用 时wget --mirror example.com,您可以另外提供参数--user--password,但如果仅提供一对用户/密码对,则由于 而无法下载两个受保护区域之一401 Authorization Required

有没有办法做类似的事情wget --user=alice --password=cat --user=bob --password=dog (...)?用自然语言来说:当遇到受密码保护的区域时,请尝试通过依次尝试提供的所有凭据来获得访问权限。

答案1

如果需要这样做wget

  1. 如果用户名/密码组合的数量较少,并且下载量不大,则可以对每个组合重复运行整个树(使用--user--password)并合并结果。

  2. 如果不同的用户/密码组合取决于域,您可以尝试wget的选项--ask-passwordexpect,并在正确的时间提供正确的选项。

对于更复杂的下载情况,我总是使用基于 selenium 的专用程序,该程序可以正确处理当前使用 javascript 加载部分页面的做法以及 wget 可以处理的基本身份验证之外的其他登录方案。

相关内容