Справочник по командам wget и curl

wget — консольная утилита для скачивания файлов/сайтов умеет выкачивать файлы рекурсивно следуя по ссылкам автоматически.
КомандаОписание
wget http://example.com/file.zipскачивание файла file.zip в текущую директорию
wget -P /path/to/save http://example.com/file.zipскачивание файла file.zip в директорию /path/to/save
wget -c http://example.com/file.zipдокачивание файла file.zip в случаи обрыва
wget -O arch.zip http://example.com/file.zipскачивание файла file.zip и сохранение под именем arch.zip
wget -i files.txtскачивание файлов из списка в files.txt
wget --tries=10 http://example.com/file.zipколичество попыток на скачивание
wget -Q5m -i http://example.com/квота на максимальный размер скачанных файлов квота действует только при рекурсивном скачивании (-r)
wget --save-cookies cookies.txt --post-data 'username=proft&password=1' http://example.com/auth.phpидентификация на сервере с сохранением кук для последующего доступа
wget --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 (KHTML like Gecko) Chrome/19.0.1084.9 Safari/536.5" http://example.com/указание User Agent
echo 'wget http://example.com/file.zip' | at 12:00скачать http://example.com/file.zip в 12:00 в текущую директорию
wget ftp://example.com/dir/*.zipскачивание всех файлов по шаблону
wget http://example.com/dir/file{1..10}.zipскачивание всех файлов по шаблону
wget -S http://example.com/вывод заголовков HTTP серверов и ответов FTP серверов
wget --spider -i urls.txtпроверка ссылок в файле на доступность
wget -b http://example.com/file.zipскачивание файла в фоне лог пишется в wget.log wget.log.1 и т.д.
export http_proxy=http://proxy.com:3128/;wget http://example.com/file.zipскачивание файла *file.zip* через прокси
wget -m -w 2 http://example.com/зеркалирование сайта с сохранением абсолютных ссылок и ожиданием 2-х секунд между запросами
wget --limit-rate=200k http://example.com/file.zipограничение скорости скачивания
wget -R bmp http://example.com/не скачивать bmp файлы
wget -A pngjpg http://example.com/скачивать только файлы png и jpg

Пример использования для скачивания документации Django:

wget -r -k -l 5 -p -E -nc -np https://docs.djangoproject.com/en/1.5/

  • -r - ходим по ссылкам (рекурсивное скачивание)
  • -k - преобразовываем ссылки к локальному виду
  • -p - скачивание ресурсов необходимых для отображения html-страницы (стили картинки и т.д.)
  • -l - глубина скачивания 0 - бесконечная вложенность ссылок
  • -nc - не перезаписывать существующие файлы
  • -np - не подниматься выше начального адреса при рекурсивной загрузке

Часто используемые wget параметры можно вынести в ~/.wgetrc.

curl — консольная утилита для передачи данных используя URL-синтаксис поддерживаются протоколы DICT FILE FTP FTPS Gopher HTTP HTTPS IMAP IMAPS LDAP LDAPS POP3 POP3S RTMP RTSP SCP SFTP SMTP SMTPS Telnet и TFTP.
КомандаОписание
curl http://proft.meполучаем содержания главной страницы
curl -o index.html http://proft.meполучаем содержания главной страницы в файл index.html
curl -L http://example.comпри получении содержимого страницы следовать по редиректам (если такие есть)
curl -u username:password http://example.com/login/получение страницы скрытой за Basic HTTP Authentication
curl -x proxy.com:3128 http://proft.meполучение страницы используя прокси
curl -I proft.meполучаем http-заголовки с сайта
curl -H 'Host: google.ru' http://proft.meподменить домен при обращении к серверу (передача своего заголовка)
curl --request POST "http://example.com/form/" --data "field1=value1&field2=value2"передача данных POST-запросом
curl -X POST "http://example.com/form/" --data "field1=value1&field2=value2"передача данных POST-запросом
curl -X POST -H "Content-Type: application/json" -d '"title":"Commando""year":"1985"' http://example.com/api/movies/ передача данных POST-запросом данные в виде JSON
curl --request PUT "http://example.com/api/movie/1/" --data "title=DjangoUnchained"передача данных PUT-запросом
curl -F [email protected] -F submit=OK http://example.com/upload/загрузка файла file.zip в форму (multipart/form-data)
curl -u username:password -O ftp://example.com/file.zipскачать файл с FTP
curl -u username:password -T file.zip ftp://example.com/закачать файл по FTP
curl --cookie "login=proft" http://example.com/login/установить кукис
curl --cookie-jar cookies.txt http://example.comсохранение кукисов в файл
curl --cookie cookies.txt http://example.com/login/использование сохраненных кукисов

Дополнительное чтиво


Оригинал статьи http://proft.me/2013/08/17/spravochnik-po-komandam-wget-i-curl/

0 комментариев

Оставить комментарий