2017-04-13 122 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