来自一切卷曲书,通过组合命令行重用curl连接可以提高性能,但每次单独的curl命令退出时,连接缓存和其他缓存都会被清除。
...curl 将始终尝试保持连接处于活动状态并尽可能重用现有连接。然而,curl 命令行工具只能在运行期间保持连接处于活动状态,因此一旦它退出回命令行,它就必须关闭所有当前打开的连接(并且还释放并清理所有它使用其他缓存来减少后续操作的时间)。我们将活动连接池称为“连接缓存”。
我使用curl从URL获取数据,然后用它来形成下一个curl请求。我想从连接重用中受益,因为我返回到同一服务器(有时甚至是同一页面),但我不能只组合命令,因为第二个命令取决于第一个命令返回的信息。
在伪代码中
webdata="$(curl somerepository)" # read a web page full of package links
webdata=findPackage($webdata) # do some text processing on the page data to isolate a specific filename
curl somerepository/${webdata} -O # download a package using its filename
在这种情况下,有没有办法让我从连接重用中受益,通过防止活动连接关闭、找到一种方法来防止清除已关闭连接的缓存或其他方法?