![使用 curl 发出带有硬超时的 HEAD 请求](https://linux22.com/image/569879/%E4%BD%BF%E7%94%A8%20curl%20%E5%8F%91%E5%87%BA%E5%B8%A6%E6%9C%89%E7%A1%AC%E8%B6%85%E6%97%B6%E7%9A%84%20HEAD%20%E8%AF%B7%E6%B1%82.png)
我想使用curl
向 URL 发送 HTTP HEAD 请求来验证它是否正常工作(服务器已启动并发送成功响应)。最后,我需要返回最终的 HTTP 响应代码和 URL(在遵循任何重定向之后)。最后,我需要设置硬超时(一段时间后,调用将失败,无论请求位于何处)curl
。
支持所有这些吗curl
?我需要使用哪些选项来实现这一点?
答案1
curl -I
将生成 HEAD 请求。
添加该-L
选项将使其遵循重定向。
可以使用多个选项来控制超时,具体取决于您想要超时的请求的哪一位。
来自手册页:
--connect-timeout <seconds>
Maximum time in seconds that you allow the connection to the server to take. This only limits the connection phase, once curl has connected this option is of no more use. See also the -m/--max-time option.
-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 hanging for hours due to slow networks or links going down. See also the --connect-timeout option.
另外两个值得关注的超时相关选项是:
--retry
--retry-delay
--retry-max-time