为curl设置网页响应超时


15

我使用一种工具来监视网页是否已启动并正在运行。

该工具在curl内部使用命令来获取输出。

但是,当网页需要较长时间响应时,它会返回TIMEOUT错误。我无法增加该工具的超时时间。

有什么方法可以设置/修改网页响应的超时时间?

有没有可以修改的变量?

Answers:


23

您可以使用以下-m选项:

-m, --max-time <seconds>
              Maximum time in seconds that you allow the  whole  operation  to
              take.   This is useful for preventing your batch jobs from hang‐
              ing for hours due to slow networks or  links  going  down.   See
              also the --connect-timeout option.

              If this option is used several times, the last one will be used.

这包括连接时间,如果要单独指定,请使用--connect-timeout选项。


4

通常,在curl调用时,您可以使用命令行上的选项来执行此操作。但是,由于您无法更改此设置,因此还有另一种方法-您可以为创建配置文件curl。在UNIX上,curl将首先在运行curl的用户的主目录中查找名为的文件.curlrc。用该行创建该文件

connect-timeout = 10

将超时减少到10秒。或者,您可以使用以下选项设置整个操作的最长时间max-time

max-time = 10

那是个好主意。但我也想知道,是否为此有任何特定的env变量,或者是否可以从后端设置某些变量(如ulimit)以增加FD计数?
user80040 2014年

我在手册页中找不到类似的内容。
珍妮D

4

curl具有“连接超时”选项:

--connect-timeout <seconds>

如果您的“工具”是脚本,则可以在其中手动对其进行编辑。但 /unix//a/148926/77959甚至更好-编辑curl-config!


是的..添加配置是一个绝妙的主意..但是我也想知道,是否有任何特定的env变量或可以从后端设置的东西(如ulimit)来增加FD计数?
user80040 2014年

@ user80040不,没有。没有“后端”,超时不是某种系统限制。Curl发出Web请求,并根据其配置决定是否超时。
吉尔斯(Gillles)“所以-别再作恶了”

0

Curl您可以使用此选项--connect-timeout:允许连接服务器花费的最长时间(以秒为单位)。这仅限制了连接阶段,一旦curl连接该选项就不再有用。另请参阅--max-time选项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.