小编Inv*_*999的帖子

如何显示多个请求中curl的单独退出状态?

我的问题很简单 -当curl执行多个请求时,有没有办法显示每个URL的curl的单独退出状态?

让我们假设我需要检查站点a.comb.comc.com查看它们:

  • HTTP 返回码
  • 如果HTTP返回码是000,我需要显示curl的exit code

注意 - a.comb.comc.com在此代码/问题中用作示例。在真实的脚本中,我确实有一个有效的 URL 列表 - 其中超过 400 个具有非重叠模式 - 并且它们返回各种 HTTP 代码 - 200/4xx/5xx 以及 000。

000 是curl 无法建立连接的情况,但提供退出代码以了解阻止其建立连接的原因。就我而言,还有许多退出代码 - 6、7、35、60。

我尝试运行以下代码

unset a
unset rep
a=($(curl -s --location -o /dev/null -w "%{response_code}\n" {https://a.com,https://b.com,https://a.com}))
rep+=("$?")
printf '%s\n' "${a[@]}"
echo
printf '%s\n' "${rep[@]}"
Run Code Online (Sandbox Code Playgroud)

虽然上述代码返回每个单独请求的 HTTP 返回代码,但仅显示最后一个请求的退出代码。

000
000
000

60
Run Code Online (Sandbox Code Playgroud)

当我提供多个 URL 进行卷曲时,我确实需要能够记录单独的退出代码。这个问题有解决方法/解决方案吗?

一些附加信息:目前,我将所有 URL 放入一个数组中,并通过它运行一个循环,分别检查每个 URL。然而,浏览 …

url bash curl

1
推荐指数
1
解决办法
2790
查看次数

标签 统计

bash ×1

curl ×1

url ×1