当我调用client.Do
方法时,如何通知429响应代码(也就是太多请求)等错误。我应该期望使用状态代码429获取响应对象,还是仅仅显示“请求太多”消息时会出现错误?
我看到了后者,我需要的是能够获取所有错误的状态代码(server / dial / tcp / dns / etc。)和成功,只有在某些情况下我才能得到实际的代码以防万一错误。无论如何都要获取所有响应代码而不管错误类型 - 错误消息似乎反映了细节,但仍然希望尽可能获得代码。
答案 0 :(得分:2)
http
documentation非常清楚地涵盖了这一点。
特别感兴趣的是documentation for Do
:
如果由客户端策略(例如CheckRedirect)或无法说出HTTP(例如网络连接问题)引起错误,则会返回错误。 非2xx状态代码不会导致错误。
(强调补充)
Do
返回的Response
对象的文档:
type Response struct {
Status string // e.g. "200 OK"
StatusCode int // e.g. 200