要在Go中处理HTTP超时错误,可以使用 os.IsTimeout()函数,该函数来自内置的 os包中的函数。如果超过了请求时间限制,它将返回true ,否则返回false 。
例子
在这个例子中,我们创建了一个HTTP客户端,超时时间为1纳秒。有了这么短的超时,我们就可以确定,当我们向https://example.com 服务器发送请求时,我们会收到一个超时错误:
| |
输出:
2022/08/28 18:35:48 timeout error: Get "https://example.com": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
为了确保 os.IsTimeout()正常工作,将11 行中的超时值改为1 * time.Minute 。如果目前https://example.com 没有问题,请求将在1分钟的时间限制内被处理,你将不会在输出中看到任何错误。