Команда CURL.


Команда curl в командной строке Linux предназначена для отправки или получения данных через URL. Вот некоторые основные примеры использования curl:

  1. Получение содержимого веб-страницы:
    curl https://www.example.com
  2. Сохранение содержимого веб-страницы в файл:
    curl -o output.html https://www.example.com
  3. Отправка данных на сервер методом POST:
    curl -X POST -d "param1=value1&param2=value2" https://www.example.com/api
  4. Отправка JSON данных на сервер методом POST:
    curl -X POST -H "Content-Type: application/json" -d '{"key1":"value1","key2":"value2"}' https://www.example.com/api
  5. Отправка файла на сервер:
    curl -F "file=@/path/to/file.txt" https://www.example.com/upload
  6. Получение заголовков HTTP:
    curl -I https://www.example.com
  7. Установка пользовательского заголовка:
    curl -H "Authorization: Bearer YOUR_TOKEN" https://www.example.com/api
  8. Игнорирование SSL-сертификата (осторожно, используйте только для отладки):
    curl -k https://www.example.com
  9. Установка максимального времени ожидания:
    curl --max-time 10 https://www.example.com
  10. Скачивание файлов по FTP:
    curl -O ftp://ftp.example.com/file.zip
  11. Логирование запросов и ответов:
    curl -v https://www.example.com
  12. Ограничение скорости передачи данных:
    curl --limit-rate 100K https://www.example.com
  13. Использование прокси-сервера:
    curl -x http://proxy.example.com:8080 https://www.example.com
  14. Отправка запроса с определенным HTTP-методом:
    curl -X PUT https://www.example.com/resource
  15. Использование HTTP-аутентификации:
    curl -u username:password https://www.example.com
  16. Извлечение заголовка Location после редиректа:
    curl -s -I -L https://www.example.com | grep Location
  17. Отправка данных из файла методом POST:
    curl -X POST -d @data.txt https://www.example.com/api
  18. Отправка запроса с определенным Referer:
    curl -e "https://www.referersite.com" https://www.example.com
  19. Скачивание страницы и её ресурсов для оффлайн просмотра:
    curl -O -L https://www.example.com/page.html
  20. Использование прокси с аутентификацией:
    curl -x http://username:password@proxy.example.com:8080 https://www.example.com
  21. Использование SOCKS5 прокси:
    curl --socks5-hostname proxy.example.com:1080 https://www.example.com
  22. Использование кастомного SSL-сертификата:
    curl --cacert /path/to/certificate.pem https://www.example.com
  23. Использование HTTP/2:
    curl --http2 https://www.example.com
  24. Определение максимального количества редиректов:
    curl --max-redirs 5 https://www.example.com
  25. Отправка запроса с определенным хостом:
    curl --header "Host: subdomain.example.com" https://www.example.com
  26. Отправка запроса с использованием прокси-авторизации:
    curl --proxy-user username:password https://www.example.com
  27. Получение информации о DNS-запросах:
    curl -w "@dnsinfo.txt" -o /dev/null https://www.example.com

Несколько примеров использования curl с разными протоколами:

  1. HTTP:
    curl http://www.example.com
  2. HTTPS:
    curl https://www.example.com
  3. FTP:
    curl ftp://ftp.example.com/file.txt
  4. SCP (Secure Copy Protocol):
    curl scp://user@remotehost:/path/to/file
  5. SFTP (SSH File Transfer Protocol):
    curl sftp://user@remotehost:/path/to/file
  6. LDAP (Lightweight Directory Access Protocol):
    curl ldap://ldap.example.com
  7. IMAP (Internet Message Access Protocol):
    curl imap://user:password@mail.example.com/INBOX
  8. SMTP (Simple Mail Transfer Protocol):
    curl smtp://mail.example.com --mail-from "sender@example.com" --mail-rcpt "recipient@example.com" -T message.txt
  9. Telnet:
    curl telnet://example.com
  10. Dict (Dictionary Protocol):
    curl dict://dict.org/d:word
  11. DNS (Domain Name System):bashCopy codecurl -v https://www.example.com --resolve www.example.com:443:127.0.0.1
  12. RTSP (Real Time Streaming Protocol):bashCopy codecurl rtsp://stream.example.com/live/stream.sdp
  13. BitTorrent:
    curl -O https://example.com/file.torrent
  14. Gopher:
    curl gopher://gopher.example.com/0/selector
  15. Magnet:
    curl -O -L "magnet:?xt=urn:btih:..."
  16. 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