Команда curl
в командной строке Linux предназначена для отправки или получения данных через URL. Вот некоторые основные примеры использования curl
:
- Получение содержимого веб-страницы:
curl https://www.example.com
- Сохранение содержимого веб-страницы в файл:
curl -o output.html https://www.example.com
- Отправка данных на сервер методом POST:
curl -X POST -d "param1=value1¶m2=value2" https://www.example.com/api
- Отправка JSON данных на сервер методом POST:
curl -X POST -H "Content-Type: application/json" -d '{"key1":"value1","key2":"value2"}' https://www.example.com/api
- Отправка файла на сервер:
curl -F "file=@/path/to/file.txt" https://www.example.com/upload
- Получение заголовков HTTP:
curl -I https://www.example.com
- Установка пользовательского заголовка:
curl -H "Authorization: Bearer YOUR_TOKEN" https://www.example.com/api
- Игнорирование SSL-сертификата (осторожно, используйте только для отладки):
curl -k https://www.example.com
- Установка максимального времени ожидания:
curl --max-time 10 https://www.example.com
- Скачивание файлов по FTP:
curl -O ftp://ftp.example.com/file.zip
- Логирование запросов и ответов:
curl -v https://www.example.com
- Ограничение скорости передачи данных:
curl --limit-rate 100K https://www.example.com
- Использование прокси-сервера:
curl -x http://proxy.example.com:8080 https://www.example.com
- Отправка запроса с определенным HTTP-методом:
curl -X PUT https://www.example.com/resource
- Использование HTTP-аутентификации:
curl -u username:password https://www.example.com - Извлечение заголовка Location после редиректа:
curl -s -I -L https://www.example.com | grep Location
- Отправка данных из файла методом POST:
curl -X POST -d @data.txt https://www.example.com/api
- Отправка запроса с определенным Referer:
curl -e "https://www.referersite.com" https://www.example.com
- Скачивание страницы и её ресурсов для оффлайн просмотра:
curl -O -L https://www.example.com/page.html
- Использование прокси с аутентификацией:
curl -x http://username:password@proxy.example.com:8080 https://www.example.com
- Использование SOCKS5 прокси:
curl --socks5-hostname proxy.example.com:1080 https://www.example.com
- Использование кастомного SSL-сертификата:
curl --cacert /path/to/certificate.pem https://www.example.com
- Использование HTTP/2:
curl --http2 https://www.example.com
- Определение максимального количества редиректов:
curl --max-redirs 5 https://www.example.com
- Отправка запроса с определенным хостом:
curl --header "Host: subdomain.example.com" https://www.example.com
- Отправка запроса с использованием прокси-авторизации:
curl --proxy-user username:password https://www.example.com
- Получение информации о DNS-запросах:
curl -w "@dnsinfo.txt" -o /dev/null https://www.example.com
Несколько примеров использования curl
с разными протоколами:
- HTTP:
curl http://www.example.com
- HTTPS:
curl https://www.example.com
- FTP:
curl ftp://ftp.example.com/file.txt
- SCP (Secure Copy Protocol):
curl scp://user@remotehost:/path/to/file
- SFTP (SSH File Transfer Protocol):
curl sftp://user@remotehost:/path/to/file
- LDAP (Lightweight Directory Access Protocol):
curl ldap://ldap.example.com
- IMAP (Internet Message Access Protocol):
curl imap://user:password@mail.example.com/INBOX
- SMTP (Simple Mail Transfer Protocol):
curl smtp://mail.example.com --mail-from "sender@example.com" --mail-rcpt "recipient@example.com" -T message.txt
- Telnet:
curl telnet://example.com
- Dict (Dictionary Protocol):
curl dict://dict.org/d:word
- DNS (Domain Name System):bashCopy code
curl -v https://www.example.com --resolve www.example.com:443:127.0.0.1
- RTSP (Real Time Streaming Protocol):bashCopy code
curl rtsp://stream.example.com/live/stream.sdp
- BitTorrent:
curl -O https://example.com/file.torrent
- Gopher:
curl gopher://gopher.example.com/0/selector
- Magnet:
curl -O -L "magnet:?xt=urn:btih:..."
- WebSocket:
curl -i -N -H «Connection: Upgrade» -H «Upgrade: websocket» -H «Host: echo.websocket.org» -H «Origin: http://www.websocket.org» http://echo.websocket.org