Команда 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