```
client := &http.Client{
Timeout: time.Second * 20,
Transport: &http.Transport{
Proxy: proxy,
},
}
resp, err := client.Get(url)
if err != nil||resp.StatusCode != 200 {
return msg, err //网络错误逻辑判断
}
defer resp.Body.Close()
byslice, err := ioutil.ReadAll(resp.Body)
if err != nil {
return msg, err//io流转数组错误
}
```
自己做过一个根据图片URL分析图片信息的项目,关于http请求的代码就是这些,为了防止出现一直请求但没有响应的情况,所以手动加了个timeout。
现在遇到了新的问题,请求大型图片的时候,url能正常请求到所以不会走网络错误逻辑判断,但因为timeout会报request canceled,所以想问一下,**怎么合理设置timeout,以及http包中各个timeout的作用**
想给改成**请求只要有数据流通的时候永远不会超时这种效果**
有疑问加站长微信联系(非本文作者)