位置: IT常识 - 正文

使用Go http重试请求

编辑:rootadmin
原文连接:https://www.zhoubotong.site/post/78.html 开发中对于http请求是经常遇到,一般可能网络延迟或接口返回超时,对于发起客户端的请求, 除了设置超时时间外,请求重试是很有必要考虑的,我们不用重复造轮子,可以使用 https://github.com/ra ...

推荐整理分享使用Go http重试请求,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

使用Go http重试请求

原文连接:https://www.zhoubotong.site/post/78.html开发中对于http请求是经常遇到,一般可能网络延迟或接口返回超时,对于发起客户端的请求,

除了设置超时时间外,请求重试是很有必要考虑的,我们不用重复造轮子,可以使用https://github.com/rafaeljesus/retry-go第三方库,

retry-go的使用非常简单,如下是一个发起 HTTP Get 请求的重试示例 :

package mainimport ( "io/ioutil" "log" "net/http" "time" "github.com/rafaeljesus/retry-go")var ( attempts = 3 //最大重试次数 sleepTime = time.Second * 2 //重试延迟时间)func main() { _, err := retry.DoHTTP(func() (*http.Response, error) { return makeRequest() }, attempts, sleepTime) if err != nil { log.Print("retry.DoHTTP Failed") return } log.Print("retry.DoHTTP OK")}// 发送http请求func makeRequest() (*http.Response, error) { client := http.Client{ Timeout: 2 * time.Second, // 设置请求超时时间 } req, err := client.Get("https://www.baidu2.com") // 模拟不存在的url请求 if err != nil { log.Printf(err.Error()) return nil, err } body, err := ioutil.ReadAll(req.Body) if err != nil { log.Printf(err.Error()) return nil, err } log.Printf("响应数据 %v\\n", string(body)) defer req.Body.Close() res := &http.Response{} return res, nil}

运行结果:我们看到尝试执行了指定的3次请求次数。

本文链接地址:https://www.jiuchutong.com/zhishi/304649.html 转载请保留说明!

上一篇:c语言中有哪些循环语句(c语言中有哪些循环结构)

下一篇:phpcms hash数据验证失败怎么解决(php hash_hmac)

  • 公司代扣代缴个人所得税如何退税
  • 税收筹划分为哪几类
  • 单位买了一批空调怎么办
  • 事业单位资产划转流程
  • 收到货物损失赔偿标准
  • 公司支付代账费怎么入账
  • 半成品算原材料吗
  • 工业企业库存商品的初始入账成本
  • 缴纳所得税费用的会计分录
  • 汇兑损益属于企业成本吗
  • 纳税人在什么情况下可以延期申报
  • 加盖发票专用章的是
  • 新个税聘用退休后怎么算
  • 小规模增值税征收条件
  • 个体工商户转为企业要交税吗
  • 个人投资收益要交所得税吗
  • 营改增后房地产开发税费一览表
  • 开票码是什么意思
  • 未在规定期限内发出追索通知
  • 消费税和增值税的不同之处
  • 增值税税率如何计算
  • 普通发票收款方账号信息错了可以正常报销吗
  • 政府补贴物业公司
  • 卫生防疫站调拨是什么意思
  • 向客户发放,赠品怎么写
  • 出口货物专用发票图片
  • 固定资产出租需要交什么税
  • 华为手机定位另外一个华为手机怎么办
  • Win10 64位正式版系统安装方法全过程图解(U大师)
  • 证券资金利息
  • 预提费用利息会增加吗
  • 房地产开发有限公司英文
  • 如何调整往来账款
  • 会计中记账凭证复核是谁负责
  • 富士通FUJITSU笔记本电脑开机进入BIOS的方法(F2)
  • 没有发票只有收据可以报销吗
  • macos快捷键一览
  • 增值税价外费用如何开票
  • 销售折让负数会计分录
  • 厂区绿化工程计入什么科目
  • php图片代码
  • 报废机器设备会计分录
  • 最新预提房租会计分录
  • 收到劳务派遣发票可以抵扣吗
  • 本年利润的会计分录有哪些
  • 保险中介手续费规定最新
  • 会计上视同销售的八种情况是哪些?
  • 财务报表漏报了会影响领票吗
  • 如果租房没有合同怎么办
  • 企业购进生产用品税率
  • 结转本年利润按什么算
  • 有限合伙企业协议
  • 化妆品的成本利润率
  • 小企业成本核算方法怎么填
  • 进项票超期未认证怎么办
  • 工程物资属于存货还是固定资产
  • 滴滴出行怎么开纸质发票
  • 房地产核算
  • SQL server不存在或拒绝访问 u8
  • centos6.5配置网络
  • win10预览版21301bug
  • 苹果mac怎么复制文字
  • csrsyncmlserver.exe是什么文件
  • iis的安全性设置主要包括
  • win10周年版
  • linux的ssr
  • [置顶]游戏名:chivalry2
  • nodejs 用途
  • shutdown命令不能运行
  • opengl怎么学
  • 安卓字库ic
  • bat文件加密bat解密脚本
  • js如何将输入的数存到数组中
  • linux shell获取ip地址
  • js获取表单元素
  • python的iloc
  • 探寻Javascript执行效率问题
  • 税务工会费缴费标准
  • 广西税务12366如何交社保
  • 手机的海关税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设