cURL 命令行保持连接打开
cURL command line keep connection open
有没有办法让 curl(命令行工具)保持打开的 http 连接?我正在尝试 test/debug 一个服务器应用程序,它有一个打开 http 连接的客户端,发出 PUT 请求并保持打开状态直到采取进一步的操作,并且一直在尝试使用 curl 来模拟这个。
然而,根据 curl 网站:
The curl command-line tool can, however, only keep connections alive for as long as it runs, so as soon as it exits back to your command line it has to close down all currently open connections.
这很好,但是有没有办法强制它不退出回到命令行(直到我按任意键或 Ctrl-C 或它喜欢的任何东西),因此保持连接打开当我做测试时?
我已经尝试了 "Connection: keep-alive"
header 但这并不能解决问题,进程仍然在发出请求后立即结束,并且连接已关闭。
如果没有,是否有替代工具可以做到这一点?
您可以“欺骗”curl 以保持连接打开。例如像这样:
- 启动
nc
以监听本地端口,比如 8080(nc -l -p 8080
在某些版本的 nc 上)
- 运行 curl 以获取您想要的资源,然后在同一命令行
上添加“localhost:8080”作为第二个URL
这将使 curl 在获得第二个连接时保持其池中的第一个连接 URL,并且您使第二个传输只是“无限期地”挂起,这将使 curl 仅使第一个连接保持打开状态并处于活动状态直到你 control-c 那个或你的 nc 进程。
有没有办法让 curl(命令行工具)保持打开的 http 连接?我正在尝试 test/debug 一个服务器应用程序,它有一个打开 http 连接的客户端,发出 PUT 请求并保持打开状态直到采取进一步的操作,并且一直在尝试使用 curl 来模拟这个。
然而,根据 curl 网站:
The curl command-line tool can, however, only keep connections alive for as long as it runs, so as soon as it exits back to your command line it has to close down all currently open connections.
这很好,但是有没有办法强制它不退出回到命令行(直到我按任意键或 Ctrl-C 或它喜欢的任何东西),因此保持连接打开当我做测试时?
我已经尝试了 "Connection: keep-alive"
header 但这并不能解决问题,进程仍然在发出请求后立即结束,并且连接已关闭。
如果没有,是否有替代工具可以做到这一点?
您可以“欺骗”curl 以保持连接打开。例如像这样:
- 启动
nc
以监听本地端口,比如 8080(nc -l -p 8080
在某些版本的 nc 上) - 运行 curl 以获取您想要的资源,然后在同一命令行 上添加“localhost:8080”作为第二个URL
这将使 curl 在获得第二个连接时保持其池中的第一个连接 URL,并且您使第二个传输只是“无限期地”挂起,这将使 curl 仅使第一个连接保持打开状态并处于活动状态直到你 control-c 那个或你的 nc 进程。