TGViewer
/usr/bin /usr/bin @usr_bin_linux · 4.91K subscribers
Post #622 1.27K
10 забористых примеров использования утилиты curl

В этом посте рассмотрим примеры использования утилиты curl для различных задач.

🔍 Globbing — множественные запросы одной командой:
curl -s "https://jsonplaceholder.example.com/users/[1-3]" | jq -s .

curl -s "https://jsonplaceholder.example.com/users/[0-10:2]" | jq -s .

curl -s "https://jsonplaceholder.example.com/photos/{1,6,35}" | jq -s .

curl -s "https://jsonplaceholder.example.com/users/[1-3]" -o "file_#1.json"


🔍 Использование конфигурационных файлов
Пример конфигурационного файла:
# ~/.curlrc

# some headers
-H "Upgrade-Insecure-Requests: 1"
-H "Accept-Language: en-US,en;q=0.8"

# follow redirects
--location

Пример вызова curl:
curl -K .curlrc https://google.com

Чтобы не палить логины/пароли в истории выполненных команд, можно использовать следующий файл:
# ~/.netrc
machine https://authenticationtest.com/HTTPAuth/
login user
password pass

И вот так вызвать curl:
curl --netrc-file .netrc https://authenticationtest.com/HTTPAuth/


🔍 Параллельные запросы:
curl -I --parallel --parallel-immediate --parallel-max 3 --config websites.txt

curl -I --parallel --parallel-immediate --parallel-max 3 stackoverflow.com google.com example.com


🔍 Форматирование и использование переменных:
curl --silent --output /dev/null --show-error -w @format.txt http://example.com/

# format.txt
Type: %{content_type}\nCode: %{response_code}\n\n

From 8.1.0:\n\n

Scheme: %{url.scheme}\n
Host: %{url.host}\n
Port: %{url.port}\n

Read header content (v7.83.0):\n
%header{date}

Вывод, соответственно, будет таким:
# Type: text/html; charset=UTF-8
# Code: 200
#
# From 8.1.0:
# Scheme: http
# Host: example.com
# Port: 80
#
# Read header content (v7.83.0):
# Server: Sat, 29 Jun 2024 13:01:30 GMT

Полный список переменных по ссылке.

🔍 Тестирование и траблшутинг
Можно выполнять, используя определенный сетевой интерфейс или DNS-сервер:
curl --interface enp5s0 https://example.com

curl --dns-ipv4-addr 1.1.1.1 https://example.com


🔍Использование trurl. Это специализированная утилита, которая позволяет форматировать вывод, например, в формат json:
# Parse as JSON:
./trurl --url "https://example.com/?name=hello" --json
# [
# {
# "url": "https://example.com/?name=hello",
# "parts": {
# "scheme": "https",
# "host": "example.com",
# "path": "/",
# "query": "name=hello"
# },
# "params": [
# {
# "key": "name",
# "value": "hello"
# }
# ]
# }
# ]


Эффективного использования curl!
  • 👍 17
  • 🔥 7
  • ❤ 3
More from @usr_bin_linux
  1. Sep 29, 2026Уже завтра! Приходите на наш вебинар. Вместе с Александром Тварадзе расскажем про Pandora…
  2. Sep 29, 2026webtop Интересный проект от LinuxServer.io. Поднимаешь контейнер на сервере и заходишь чер…
  3. Sep 28, 2026Docker для параноика: организация SSH‑доступа для rootless‑контейнера без передачи приватн…
  4. Sep 27, 2026Netronome — self-hosted-мониторинг качества сети и интернет-каналов Если Speedtest Tracker…
  5. Sep 26, 2026MinIO заархивировал открытую версию. Что остаётся тем, у кого он уже развёрнут Июнь 2025 г…
  6. Sep 25, 2026Pandora FMS — замена ушедших PRTG, WhatsUp Gold и SolarWinds 🔥 Проверенная временем платф…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →