【发布时间】:2015-12-09 08:05:24
【问题描述】:
我有一个脚本,它每 Y 分钟重复向同一台服务器发出 X 次请求,并且目前不使用任何流水线/HTTP Keep-Alive,部分原因是每个请求之前必须在输出中添加一个标头。
#!/bin/sh -x
for k in $(jot 6)
do
while read i
do
echo -n $i
curl -s "http://example.org/?param=$i" | fgrep result
done <<EOF
some
uri
data
here
EOF
sleep 600
done
我想要将其转换为对每个批次使用到 example.com 的单个连接,而不是为每个请求建立一个新连接。
请注意,流水线会因为必须打印标头而变得复杂,例如echo -n $i。
约束:每个请求中可能有 0 行或 1 行与我们尝试的字符串匹配 fgrep(因此,当前脚本也部分损坏,因为它不会如果有 0 行,则打印 \n)。
理想情况下,我正在寻找sh 解决方案,但我也有perl 和python2.7 可用,如果这不会花费太长时间的话。 (还有 curl 和 wget,以及 OpenBSD 拥有的所有其他东西。)
【问题讨论】:
标签: python perl curl sh keep-alive