使用 curl 下载需要太长时间?试试在 cURL 中设置超时

举报
wljslmz 发表于 2022/07/28 01:06:50 2022/07/28
【摘要】 cURL是一个出色的网络通信工具,它代表“客户端 URL”。几乎所有设备都使用地球上连接到 Internet 的 cURL,cURL 最广泛的用途是从终端中的远程服务器下载文件。 连接到服务器以进行任何...

cURL是一个出色的网络通信工具,它代表“客户端 URL”。几乎所有设备都使用地球上连接到 Internet 的 cURL,cURL 最广泛的用途是从终端中的远程服务器下载文件

连接到服务器以进行任何类型的通信的初始阶段是等待响应,延迟可能由于多种原因而发生,其中一些原因是服务器上的负载、网络带宽、延迟、抖动等。

如果延迟高于您希望等待的时间,您可以指定“超时”持续时间。

实现此目的的最佳方法是使用该`–connect-timeout选项。

curl --connect-timeout <duration> <URL>

  
 
  • 1

您可以以秒(例如 5)、毫秒(例如 0.001)或秒和毫秒的组合(例如 4.20)指定超时,curl 将使用该时间作为响应的最长时间,直到连接被丢弃。

要了解有关在 cURL 中设置最大超时的更多信息,

使用“–connect-timeout”选项

cURL 有一个可选标志“–connect-timeout”,您可以在其中指定持续时间(以秒为单位),如果您的 cURL 版本为 7.32.0 或更高版本,您还可以将持续时间指定为十进制值。

您指定的值将设置等待远程服务器回复的最长时间。

以下是如何使用“–connect-timeout”标志的示例:

curl --connect-timeout 4.2 https://linuxhandbook.com

  
 
  • 1

使用 ‘4.2’ 和 ‘–connect-timeout’ 标志意味着 cURL 将尝试连接到 ‘linuxhandbook.com’,如果超过 4.2 秒,连接将被终止。

另一种“–max-time”选项

当您在批处理中执行多个操作时,使用“–max-time”标志,这个标志将设置整个操作的持续时间——比如下载一个大文件,因此,如果操作(例如下载文件)花费的时间超过指定的时间,它将终止操作。

$ curl --max-time 20 https://github.com/aristocratos/btop/releases/download/v1.2.3/btop-aarch64-linux-musl.tbz

  
 
  • 1

这个 cURL 使用示例将下载一个文件。当“连接服务器”+“下载文件时间”的总时间大于我们这里指定的 20 秒时,将终止下载。

在这种情况下,文件大小太小,下载时间不会超过 20 秒,因此命令将成功执行。

结论

本文介绍了如何为连接到远程服务器的时间或整个网络操作的超时设置最大持续时间(超时)。

文章来源: blog.csdn.net,作者:wljslmz,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_43025343/article/details/124888424

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。