Лучшее решение

Лучшее решение

Я хочу загрузить форум, доступ к которому будет только через мое имя пользователя и пароль.

Я попробовал следующее:

C:\wget.exe wget -k -m -E -p -np -R viewtopic.php*p=*,memberlist.php*,faq.php*,posting.php*,search.php*,ucp.php*,viewonline.php*,*sid*,*view=print*,*start=0* -o log.txt http://www.myforum1234.com/forum/categories/discussions

Итак, вот команда, которую я ввожу в cmd. Потому что когда я нажимаю на wget.exe, появляется черное окно, но очень быстро исчезает. Но я думаю, что это тоже правильный способ (я использую Windows XP)?

Моя проблема в том, что результаты показывают, что wget не смог загрузить форум, потому что не смог войти. Поэтому страница входа отображается (загружена), но ничего больше. Я был в системе, когда выполнял команду.

Я не профессионал wget, поэтому не уверен, что моя команда правильная? Я скопировал это из другого поста. Простой вариант C:\wget.exe wget http://www.theforumurl.comне сработал.

РЕДАКТИРОВАТЬ:

Я сейчас тоже попробовал

C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://www.myforum.com/forum/categories/discussions

Но здесь та же проблема.

2-е ИЗМЕНЕНИЕпо поводу ссылки в первом комментарии:

Я сейчас попробовал

C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://www.myforum.com/forum/categories/discussions --post-data="username&password=1234"

Но снова та же проблема!

При наведении курсора на кнопку входа я вижу следующий URL:

http://www.myforum.com/user/popupLogin

Обязательно ли мне использовать именно его?

3-е ИЗМЕНЕНИЕ:

Я также попробовал добавить username:password@ перед www., вот так:

C:\wget.exe wget -k -m -E -p -np -R  *start=0* -o log.txt http://user:[email protected]/forum/categories/

Результат тот же, я вижу, что вход не сработал.

4-е ИЗМЕНЕНИЕ:

Я также попытался согласноэта тема:

C:\wget.exe wget --save-cookies cookies.txt --post-data 'user=usern&password=passw' http://www.myforum.com/user/popupLogin

C:\wget.exe wget --load-cookies cookies.txt -p http://www.myforum.com/forum/categories/

Но снова та же проблема!!

5-е ИЗМЕНЕНИЕ:

Думаю, теперь я изолировал исходный код кнопки входа в систему:

<div class="forumSignup">
          <a href="http://www.myforum.com/user/popupLogin" class="Button SignInPopup">Login</a> </div>

6-е ИЗМЕНЕНИЕ:

Я также пробовал с HTTrack, но проблема та же: вход не работает. Другая проблема, похоже, в том, что сам форум использует URL www.mywebsite.com/forum, но для www.mywebsite.com требуется вход. Поэтому, когда я использую, например, что-то вроде имени пользователя:[email protected]mywebsite захвачен, но не форум. Когда я использую имя пользователя:[email protected]/forum вход не работает и ничего не фиксируется.

решение1

Прежде всего, C:\wget.exe -k -m …не следует повторять wgetимя.

Поскольку вход на форум кажется сложным (он может оказаться сложным даже для простых сайтов), лучшим решением, вероятно, будет войти в систему с помощью браузера, а затем передать файлы cookie* в wget (либо поместить в файл и использовать, --load-cookiesлибо передать их напрямую с помощью --header "Cookie: name=value").

* Способ извлечения может немного отличаться в зависимости от вашего браузера.

решение2

Wget интерпретирует <pass>@serveraddressкак порт.

Чтобы указать имя пользователя и пароль, используйте ключи --userи --password:

wget --user username --password passw http://...

решение3

Трудно создать зеркало сайта с логином, используя wget. Вам нужны экспертные знания, чтобы использовать wget. В настоящее время вы передаете имя пользователя и пароль, куки и необходимые переключатели.
Дополнительные действия.
1. Избегайте зеркалирования, пока все не будет в порядке, так как рекурсивная загрузка страницы заставляет веб-сервер добавлять ваш IP в черный список. (попробуйте сохранить одну страницу)
2. Поддельный wget в качестве браузера, так как большинство веб-форумов ненавидят менеджеры закачек. см.этотответьте для получения дополнительной информации.

Лучшее решение

Лучший и самый простой способ создать зеркало такого типа сайта — использовать **альбом для вырезок**. Это плагин Firefox. Все, что вам нужно сделать, это запустить Firefox, войти на сайт, щелкнуть правой кнопкой мыши -> сохранить страницу как, фильтр по домену. см.этотответ для эффективного зеркалирования сайта.

решение4

Если у вас есть доступ к данным cookie в браузере (в Firefox есть собственный браузер cookie в разделе «Параметры» -> «Конфиденциальность», но существуют плагины, облегчающие эту задачу), выполните ручной вход на форум, найдите все файлы cookie для этого домена и сохраните их в файле cookies.txt. Вероятно, это сработает и с вашей предыдущей командой:

C:\wget.exe wget --load-cookies cookies.txt -p http://www.myforum.com/forum/categories/

Некоторые страницы входа в систему слишком сложны, чтобы попытаться выполнить задачу с помощью одной командной строки.

Не забудьте включить ВСЕ файлы cookie для всего домена (выполните поиск по запросу «myforum.com», а не только «www.myforum.com»).

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