Я хочу загрузить форум, доступ к которому будет только через мое имя пользователя и пароль.
Я попробовал следующее:
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»).