内容简介:代码如下:报错信息如下:我这边设置的超时时间是10s,程序以间隔2秒的时间差循环发送求情,但是经常报错超时,我想着youku不至于这样吧,麻烦大神帮我看看问题出在什么地方了吗
代码如下:
func NewHttping(method, protocol string, timeoutDuration time.Duration) *Httping { return &Httping{ Method: method, Protocol: protocol, Client: &http.Client{ Timeout: timeoutDuration, Transport: &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, }, }, } } func (httping *Httping) Ping(t model.TargetIp) (float64, *http.Response, error) { var resp *http.Response var body io.Reader if httping.Method == "POST" { body = bytes.NewBufferString("{}") } req, err := http.NewRequest(httping.Method, fmt.Sprintf("%s://%s:%d", httping.Protocol, t.IP, t.Port), body) if t.Header != "" { head := map[string]interface{}{} err := json.Unmarshal([]byte(t.Header), &head) if err != nil { seelog.Error("[func:httping is err]", err.Error()) } for key, val := range head { req.Header.Add(key, val.(string)) } } if err != nil { return 0, nil, err } duration, errIfce := utils.TimeIt(func() interface{} { resp, err = httping.Client.Do(req) return err }) if errIfce != nil { err := errIfce.(error) return 0, nil, err } return duration, resp, nil }
报错信息如下:
2019-05-13/18:15:03 [Error] httping.go [func:HTTP StartPing ] www.youku.com - failed: Get http://www.youku.com:80: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
我这边设置的超时时间是10s,程序以间隔2秒的时间差循环发送求情,但是经常报错超时,我想着youku不至于这样吧,麻烦大神帮我看看问题出在什么地方了吗
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 你的 CURL 请求超时了吗?
- GoLang之使用Context控制请求超时
- 为jquery的ajax请求添加超时timeout时间
- idou老师教你学Istio 07: 如何用istio实现请求超时管理
- 6、web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求
- redigo设置超时时间
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++数据结构与算法
[美]乔兹德克(Adam Drozdek) / 徐丹、吴伟敏 / 清华大学出版社 / 2014-10-1 / 63.00元
本书全面系统地介绍了数据结构,并以C++语言实现相关的算法。书中主要强调了数据结构和算法之间的联系,使用面向对象的方法介绍数据结构,其内容包括算法的复杂度分析、链表、栈、队列、递归、二叉树、图、排序和散列。书中还清晰地阐述了同类教材中较少提到的内存管理、数据压缩和字符串匹配等主题。书中包含大量的示例分析和图形,便于读者进一步理解和巩固所学的知识。一起来看看 《C++数据结构与算法》 这本书的介绍吧!