2017-04-13 105 views
-5

当我打电话client.Do方法,我将如何像429响应代码(又名太多的要求)的错误通知。我是否应该期望得到一个带有状态码429的响应对象,还是会收到错误消息“请求太多”?client.Do错误获取状态代码

我看到后者,我需要的是能够获得所有错误(服务器/拨号/ tcp/dns /等)和成功的状态代码,只有在某些情况下,我可以得到实际的代码出现错误。无论如何,无论错误类型如何,都可以获取所有响应代码 - 错误消息似乎反映了细节,但仍然希望尽可能获取代码。

+1

当你得到回应,反之亦然你不会得到一个错误。 http状态代码是你得到响应的东西,你如何解释这取决于你,但这不是一个错误条件。 – JimB

回答

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