4

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

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

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-е редактирование:

Я также попытался добавить имя пользователя: пароль @ перед www., Вот так:

C:\wget.exe wget -k -m -E -p -np -R  *start=0* -o log.txt http://user:passw@www.myforum.com/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 требуется вход в систему. Поэтому, когда я использую, например, что-то вроде username: pass@www.mywebsite.com, мой сайт захватывается, но не форум. Когда я использую имя пользователя: pass@www.mywebsite.com/forum, логин не работает и ничего не фиксируется.

4 ответа4

2

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

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

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

0

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

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

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

0

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

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

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

Если у вас есть доступ к данным 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»)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .