Некоторые части википедии выглядят по-разному, когда вы вошли в систему. Я хотел бы видеть пользовательские страницы, чтобы они выглядели так, как будто я вошел в систему.
Есть ли способ, которым я могу видеть пользовательские страницы, как это
http://en.wikipedia.org/wiki/User:A
это страница входа в систему:
http://en.wikipedia.org/w/index.php?title=Special:UserLogin&returnto=Login&campaign=ACP3
Самый легкий метод: в целом необходимо обеспечить wget или завихрение с (зарегистрированными) cookie с конкретного веб-сайта для них для выборки страниц, как будто Вы были зарегистрированы.
При использовании Firefox легко сделать через дополнение Cookie Экспорта. Установите дополнение, и:
cookies.txt
файл (можно изменить имя файла/место назначения).Откройте терминал и использование wget
с --load-cookies=FILENAME
опция, например.
wget --load-cookies=cookies.txt http://en.wikipedia.org/wiki/User:A
curl --cookie cookies.txt ...
(Я попытаюсь обновить этот ответ для пользователей Chrome/хрома),
--cookie-jar
или wget с --save-cookies --keep-session-cookies
опции, наряду с HTTP/S ПОМЕЩАЮТ метод, чтобы войти в систему сайта, сохранить cookie входа в систему и затем использовать их для моделирования браузера.В блоге Wget с файлами cookie Firefox показано, как получить доступ к файлу данных sqlite, в котором Firefox хранит свои файлы cookie. Таким образом, не нужно вручную экспортировать куки для использования с wget. Комментарий предполагает, что он не работает с сессионными куки, но он отлично работал на сайтах, с которыми я его пробовал.
Вы пробовали это?
wget --user=username --password=password http://en.wikipedia.org/wiki/User:A
Для тех, кто все еще интересуется этими вопросами, есть очень полезное расширение Chrome под названием CurlWGet , которое позволяет генерировать запрос wget
/ curl
с мерами аутентификации и т. Д. Одним щелчком мыши. Чтобы установить это расширение, выполните следующие действия:
Наслаждайтесь!
Еще одно простое решение, которое сработало для меня, не устанавливая ничего лишнего:
Это даст вам команду, которую вы можете вставить прямо в вашу оболочку, которая имеет все ваши учетные данные, например,
curl 'https://mysite.test/my-secure-dir/picture1.jpg' \
-H 'User-Agent: Mozilla/5.0 ...' \
-H 'Cookie: SESSIONID=abcdef1234567890'
Затем вы можете изменить URL-адрес в команде, чтобы получать все, что вы хотите.
С ЗАВИХРЕНИЕМ действительно легко обработать cookie обоими способами.
curl www.target-url.com -c cookie.txt
затем сохранит файл под названием cookie.txt. Но необходимо войти в систему, так должен использовать - данные с аргументами как: curl -X --data "var1=1&var2=2" www.target-url.com/login.php -c cookie.txt
. После того как Вы получаете loggued cookie, можно отправить его с: curl www.target-url.com/?user-page.php -b cookie.txt
Просто используйте-c (-cookie) или-b (-банка cookie), чтобы сохранить и отправить.
Note1: Используя ВИХРЕВОЙ CLI много более легких, чем PHP и возможно быстрее ;)
Для сохранения заключительное содержание можно легко добавить > filename.html
к Вашей ВИХРЕВОЙ команде затем сохраняют полный HTML-код.
Note2 о "полном": Эй не может представить JavaScript с ЗАВИХРЕНИЕМ, просто получить исходный код.
Попробуйте что-то вроде:
wget --keep-session-cookies --save-cookies cookies.txt --post-data 'user=goyamy&passwrd=mypassword' http://forum.ubuntu-it.org/
См. Также ссылку:
Для более сложных входов в систему на основе веб-сайта вы также должны рассмотреть возможность использования скрипта Python и некоторого модуля, имитирующего браузер, например http://wwwsearch.sourceforge.net/mechanize/ вместо curl
. или wget
.
Таким образом, сеансовые куки-файлы обрабатываются автоматически, вы можете переходить по ссылкам и заполнять формы входа в систему, и, таким образом, «сценарием» себя через процесс входа в систему, как если бы вы использовали веб-браузер.
взгляните на cliget для Firefox.
Когда вы собираетесь загружать, в последнем диалоговом окне загрузки вы получаете возможность скопировать загрузку в виде командной строки curl в буфер обмена.