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

  • 进项税额转出意思是下月还得缴吗
  • 房屋契税怎么交在手机上操作
  • 存货是根据总账科目计算填列吗
  • 企业所得税税款可以扣除吗
  • 税控盘及服务费会计分录
  • 发票税率开错了3%开成5%怎么办
  • 结售汇有金额限制吗
  • 水利建设基金的会计分录
  • 股票发行费用属于资本成本中的筹资费用
  • 溢价发行可转换公司债券会计分录例题
  • 销货清单和发票金额不一致
  • 原材料做成库存会计分录
  • 公司造成损失要员工承担吗
  • 河道费怎么计算
  • 企业出售房屋交什么税
  • 房租合同印花税的计税依据怎么算
  • 出租房屋房产税怎么算
  • 没有认证的进项发票怎么入账
  • 公司支付劳务派遣人员工资账务处理
  • 小微企业附加税优惠政策2023
  • 购进的出口货物如何入账
  • 网络销售平台优势有哪些
  • 内部员工购买公司产品
  • 分公司使用总公司业绩投标
  • 外汇账户怎么做账
  • 高新企业收到政府补贴
  • 金银镶嵌首饰在哪个环节交消费税
  • 所得税年报期间费用明细表
  • 存贷款基准利率和lpr
  • 华为鸿蒙os升级机型曝光
  • 特殊收入应扣减可加计扣除的研发费用政策依据
  • PHP:imagettfbbox()的用法_GD库图像处理函数
  • 企业的生产成本等于
  • php7.1
  • 前端毕业设计项目
  • vue 查询
  • 小规模纳税人免税政策2023年
  • 覆盖的盖
  • ie浏览器网页滚动条怎么隐藏
  • php的array
  • Blog2N如何计算
  • 增值税普通发票查询真伪
  • 计提工资薪金
  • 帝国cms移动端设置教程
  • 帝国cms如何使用
  • ubuntu 14.04 安装分区教程
  • 装卸搬运服务属于劳务吗
  • 处置固定资产净收益属于利得吗
  • 实习生个人所得税需要申报吗?
  • 投入产出法如何申报
  • 应交税费的记账分录
  • 自然人可以申请一般纳税人吗
  • 固定资产折旧四种方法的优缺点
  • 售后租回会计处理分录
  • 赠品没发票
  • 年末坏账准备计提余额减少说明什么
  • 年数总和法和双倍余额递减法的公式
  • 做好成本会计的基础工作主要对企业成本管理有什么意义
  • sql语句查询去重
  • centosrpm安装
  • win8系统怎么关闭投影
  • Windows Server 2003网络负载均衡如何实现
  • mac有线不能上网
  • vmware安装redhat6.5
  • winxp系统停止服务
  • win7安装cad2010
  • linux swap和mem
  • window10的小娜不支持中文版
  • cocos2dx怎么用
  • 可以在windows环境下双击而直接放映
  • javascript的对象主要包括
  • java jsonstring
  • javascript如何学
  • js函数的声明方式
  • python中url
  • 税控盘登录密码和口令
  • 增值税应税货物清单
  • 河南省电子票据查询平台
  • 苏州税务系统
  • 税务局签合同
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设