Может ли cURL отправлять запросы в сокеты?

У меня HTTP-сервер работает на /var/run/my-server.sock, и я хочу проверить это, отправив простой запрос с помощью cURL. Можно ли это сделать с помощью cURL? Может ли это быть сделано вообще, или должен быть обратный прокси на месте?

Я представляю что-то вроде этого:

curl socket:/var/run/my-server.sock:/test/path
13
задан Tshepang
07.02.2023 6:55 Количество просмотров материала 2715
Распечатать страницу

2 ответа

функция была добавлена в curl 7.40.

curl --unix-socket /var/run/docker.sock http:/images/json

еще пример:

curl --no-buffer -XGET --unix-socket /docker.sock http:/events

, который указывает GET явно (а не предположить). И не будет буфера (для tail -f обновление в реальном времени).

(первый релиз Ubuntu, поставляемый с curl 7.40 или новее, был 15.10).

cURL 7.50 и выше требуется действительный URL должен быть предоставлен, включая имя хоста, поэтому для запуска приведенных выше примеров с cURL 7.50," фиктивное " имя хоста должен быть добавлен, например:

curl --unix-socket /var/run/docker.sock http://localhost/images/json

и

curl --no-buffer -XGET --unix-socket /docker.sock http://localhost/events
82
отвечен Dreamcat4 2023-02-08 14:43

Не уверен, но в соответствии с этим билетом:

похоже, что это не так.

за это:

похоже, что socat или nc могут это сделать, СНиП из вышеприведенного СНиПа:

# Socat version
echo -e "GET /images/json HTTP/1.1\r\n" | socat unix-connect:/var/run/docker.sock STDIO

# nc version (netcat-freebsd)
echo -e "GET /images/json HTTP/1.0\r\n" | nc -U /var/run/docker.sock

сам не пробовал.

8
отвечен steady rain 2023-02-08 17:00

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх