Несколько учетных данных пользователя в 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-passwordи expectи указать нужную комбинацию в нужное время.

Для более сложных ситуаций загрузки я всегда использовал специальную программу на основе Selenium, которая корректно справляется с текущей практикой загрузки части страниц с помощью JavaScript, а также с другими схемами входа, отличными от базовой аутентификации, которую может обрабатывать wget.

Связанный контент