位置: 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)

  • APP推送那些事儿:如何提高打开率(app推送那些事儿是真的吗)

    APP推送那些事儿:如何提高打开率(app推送那些事儿是真的吗)

  • 抖音粉丝等级在哪看(抖音怎么涨到1000粉丝)

    抖音粉丝等级在哪看(抖音怎么涨到1000粉丝)

  • 一个手机怎么安装两个拼多多(一个手机怎么安装两个钉钉软件)

    一个手机怎么安装两个拼多多(一个手机怎么安装两个钉钉软件)

  • 苹果13pro怎么拍摄prores(苹果13pro怎么拍微距)

    苹果13pro怎么拍摄prores(苹果13pro怎么拍微距)

  • 荣耀30pro如何退出屏幕朗读模式(华为荣耀30pro怎么退出一个程序)

    荣耀30pro如何退出屏幕朗读模式(华为荣耀30pro怎么退出一个程序)

  • 腾讯视频怎么下载电影到手机上(腾讯视频怎么下载不了电视剧)

    腾讯视频怎么下载电影到手机上(腾讯视频怎么下载不了电视剧)

  • 为什么手机话费充不了QQ会员(为什么手机话费有余额还是停机)

    为什么手机话费充不了QQ会员(为什么手机话费有余额还是停机)

  • 苹果x屏幕下滑一半

    苹果x屏幕下滑一半

  • 苹果手机莫名重启了(苹果手机莫名重启的原因)

    苹果手机莫名重启了(苹果手机莫名重启的原因)

  • 进网许可与进网试用区别(进网许可证都是一样的吗)

    进网许可与进网试用区别(进网许可证都是一样的吗)

  • 微信emoji不显示(微信不显示emoji表情如何解决)

    微信emoji不显示(微信不显示emoji表情如何解决)

  • ipone6支持电信卡吗(萍果6支持电信卡吗)

    ipone6支持电信卡吗(萍果6支持电信卡吗)

  • 电脑鼠标左右键的功能(电脑鼠标左右键没反应)

    电脑鼠标左右键的功能(电脑鼠标左右键没反应)

  • 锐龙r53500u相当于i几(锐龙r53500怎么样)

    锐龙r53500u相当于i几(锐龙r53500怎么样)

  • 打开word乱码怎么解决(word打开乱码如何修复)

    打开word乱码怎么解决(word打开乱码如何修复)

  • 魅族16s怎么安装SIM卡(魅族16s怎么安装两个微信)

    魅族16s怎么安装SIM卡(魅族16s怎么安装两个微信)

  • win10wifi有个白色星号(win10wifi列表一片空白)

    win10wifi有个白色星号(win10wifi列表一片空白)

  • 台式电脑怎么连无线网(台式电脑怎么连接手机热点共享网络)

    台式电脑怎么连无线网(台式电脑怎么连接手机热点共享网络)

  • 打雷对电脑有什么影响(打雷真的会把电脑打坏吗)

    打雷对电脑有什么影响(打雷真的会把电脑打坏吗)

  • 虹动手机是正规手机吗(虹动hoot手机怎么样)

    虹动手机是正规手机吗(虹动hoot手机怎么样)

  • 华为nove5支持5g吗(华为nove5支持nfc吗?)

    华为nove5支持5g吗(华为nove5支持nfc吗?)

  • 哔哩哔哩怎样后台播放(哔哩哔哩app如何)

    哔哩哔哩怎样后台播放(哔哩哔哩app如何)

  • 最右如何屏蔽私信(最右怎么屏蔽所有人私信)

    最右如何屏蔽私信(最右怎么屏蔽所有人私信)

  • boss直聘如何删除简历(boss直聘如何删除头像照片)

    boss直聘如何删除简历(boss直聘如何删除头像照片)

  • MAC把桌面上分散的程序整理到spaces中的方法(mac桌面的东西怎么放回去)

    MAC把桌面上分散的程序整理到spaces中的方法(mac桌面的东西怎么放回去)

  • 【跨域】一篇文章彻底解决跨域设置cookie问题!(跨域的几种方法)

    【跨域】一篇文章彻底解决跨域设置cookie问题!(跨域的几种方法)

  • 小规模纳税人开普票要交税吗
  • 小规模纳税人缴纳增值税怎么算
  • 实收资本的印花税怎么交
  • 金税盘坏了更换需要几天
  • 税务注销后还能稽查吗
  • 商贸公司购进农产品可以抵扣吗
  • 为在建工程发生的管理费用
  • 贸易公司收到货款会计分录
  • 主营业务收入写不写明细
  • 普通股资本成本的计算
  • 存货清查的账务处理的阐述
  • 文件的类型可以通过什么来区分
  • 机票行程单可以报销用吗
  • 收到货款发票怎么记账
  • linux docx
  • 普通发票主营业务收入销项负数发票怎么做账
  • 营改增后工程税收怎么计算
  • 差额征收是啥意思
  • agsservice是什么进程
  • php教程 csdn
  • 采购原材料凭证未到达
  • 收到借款利息会计科目
  • 蓬莱德尔塔
  • 股东以固定资产入股会计处理
  • uniapp下拉
  • es工具类
  • 递归最小二乘法辨识参数
  • 工程竣工决算会计账务处理
  • 待摊费用和预提费用属于什么账户
  • 失业保险金支出项目14项
  • 固定资产清理是什么意思
  • php防盗链
  • css入门经典
  • excel表格复杂表头
  • echarts怎么引入
  • 计提加计抵减额在财务报表里哪里体现
  • 以前年度多缴的税
  • 出口属于什么行业
  • db2入门
  • 个人独资企业的
  • 待处理财产损益是什么类科目
  • 库存商品暂估入库是什么意思
  • 在建工程和预付账款怎么转化
  • 一年发一次工资好不好
  • 收取的承包费交什么税
  • 置换房产怎么交税
  • 社保缴纳的时候可以用吗
  • 预收账款处理
  • 财政总预算会计的主体是
  • 公司投资款怎么算
  • 进项发票超过期限不认证怎么办
  • 融资租赁的固定资产视为企业自有固定资产管理
  • 公司自建的房子能买吗
  • mysql优化sql有哪些
  • sql server使用教程
  • windows server 2008 64位MySQL5.6免安装版本配置方法图解
  • SQLServer CONVERT 函数测试结果
  • mysql索引命令
  • windows2000修改ip
  • 双系统计算机怎么开机
  • 哪个是win8.1更新win10的补丁
  • winXP系统截图
  • mac图片格式怎么转换jpeg
  • Linux rpm包中的64位、32位、i386、i586、Noarch名词解释
  • opengl纹理采样
  • angular创建项目命令
  • opengl 渲染yuv
  • javascript学习指南
  • 我吐槽你
  • js继承怎么实现
  • [置顶]马粥街残酷史
  • getmac/v
  • es6十大特性
  • mysql里多表查询语句怎么写
  • 股权转让是实缴资本吗
  • 国税局事业编制和公务员哪个比较好
  • 领导对税收分析肯定性批示
  • 如何查看税务登记信息
  • 北京一证通如何安装安全控件
  • 国税局和地税局有什么区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设