![wget 中的多個使用者憑證](https://rvso.com/image/36006/wget%20%E4%B8%AD%E7%9A%84%E5%A4%9A%E5%80%8B%E4%BD%BF%E7%94%A8%E8%80%85%E6%86%91%E8%AD%89.png)
使用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
:
如果使用者名稱/密碼組合的數量較少,且下載量不大,則可以對每個組合重複運行整個樹(使用
--user
和--password
)並合併結果。如果不同的使用者/密碼組合取決於網域,您可以嘗試
wget
的選項--ask-password
和expect
,並在正確的時間提供正確的選項。
對於更複雜的下載情況,我總是使用基於 selenium 的專用程序,該程序可以正確處理當前使用 javascript 加載部分頁面的做法以及 wget 可以處理的基本身份驗證之外的其他登錄方案。