我有一个运行在 的 HTTP 服务器/var/run/my-server.sock,我想通过使用 cURL 发送一个简单的请求来测试它。这可以使用 cURL 来完成吗?它可以完成吗,还是必须有一个反向代理?
我在想象这样的事情:
curl socket:/var/run/my-server.sock:/test/path
Run Code Online (Sandbox Code Playgroud)
Dre*_*at4 146
该功能是在 curl 中添加的7.40。
curl --unix-socket /var/run/docker.sock http:/images/json
Run Code Online (Sandbox Code Playgroud)
另一个例子:
curl --no-buffer -XGET --unix-socket /docker.sock http:/events
Run Code Online (Sandbox Code Playgroud)
其中GET明确指定(而不是假设)。并且不会缓冲(用于tail -f实时更新)。
(第一个随 curl 7.40 或更新版本一起发布的 Ubuntu 版本是 15.10)。
cURL 7.50 及更高版本需要提供有效的 URL,包括主机名,因此要使用 cURL 7.50 运行上述示例,必须添加“虚拟”主机名,例如:
curl --unix-socket /var/run/docker.sock http://localhost/images/json
Run Code Online (Sandbox Code Playgroud)
和
curl --no-buffer -XGET --unix-socket /docker.sock http://localhost/events
Run Code Online (Sandbox Code Playgroud)
小智 10
不确定,但根据这张票:
情况似乎并非如此。
根据这个:
似乎 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
Run Code Online (Sandbox Code Playgroud)
自己也没试过。
| 归档时间: |
|
| 查看次数: |
86237 次 |
| 最近记录: |