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 可以處理的基本身份驗證之外的其他登錄方案。

相關內容