有什么可能golang http响应错误?

时间:2016-11-29 03:09:23

标签: http go

与许多golang net/http文章一样,请求会返回两个值:response和error:

resp, err := http.Get("http://example.com/")
if err != nil {
    // handle error
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)

对于与http相关的错误,它将在resp中返回,状态代码为502,400等。返回的可能错误是什么?我需要知道它们才能处理它们。

3 个答案:

答案 0 :(得分:6)

  1. 网址解析错误
  2. 重定向时间太多
  3. tcp connect \ write \ read timeout
  4. 302状态,但null位置标题
  5. 等等

    您可以在http包中阅读源代码。然后,您可以找到此函数tflearn返回的所有错误。

答案 1 :(得分:0)

这些错误主要是与网络相关的错误,例如网络超时等。不需要以不同的方式处理它们。您可以优雅地退出,

resp, err := http.Get("http://google.com/")
    if err != nil {
        fmt.Println(err.Error())
        os.Exit(1)
}

答案 2 :(得分:-1)

有很多错误回复,例如: -

301 (Moved Permanently)
302 (Found)
303 (See Other)
307 (Temporary Redirect) 

你最好去阅读http.Get