位置: 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到专业版
  • 赡养老人个税扣除标准和条件是什么
  • 为什么Windows 7搜不到网
  • php论坛代码
  • 购买货物现金付讫的会计分录
  • 000.exe病毒
  • 凭证的类型
  • 弥补以前年度亏损最多几年
  • 很值得收藏
  • 努沙杜瓦酒店
  • 一岁宝宝喝红糖姜水
  • 员工工资扣工作服合法吗?
  • fall 瀑布
  • thinkphp extend
  • 什么叫相机标定
  • php多线程与并发
  • 圣诞节英文祝福语50字
  • pyqt 菜单
  • 一个简单的后台与数据库交互的登录与注册[sql注入处理、以及MD5加密]
  • 定期定额自行申报表应税项填多少
  • 物流公司进项包括什么
  • 小微企业应具备的条件
  • 环保税计税依据怎么算
  • win2008 enterprise R2 x64 中安装SQL server 2008的方法
  • 企业接受捐赠固定资产的运费怎么做账
  • 销货方开具红字发票还用给购买方吗
  • 预缴增值税需要提供什么资料
  • 土地增值税应纳税额
  • 现金收入支出表怎么填
  • 委托代销商品的核算
  • 未实缴出资的股东退股
  • 社会团体会员费怎么入账
  • 研发费用账务处理完整版
  • 小企业会计准则适用于哪些企业
  • 公务机票保险费能报销吗
  • 发票金额小于实付金额会计分录
  • sql导入csv数据
  • win7和winxp区别
  • xp系统安装软件重复
  • mac的dns怎么设置最快
  • linux readelf命令
  • ghost过的硬盘能恢复吗
  • task运行在哪个工作单元
  • system idle process 连接了外网
  • xp无法访问win7电脑
  • 调整linux时间
  • mcshield.exe是什么进程
  • windows下打开注册表的命令是什么
  • win10时间不见了怎么办
  • windows7不显示移动硬盘
  • Ubuntu 下搭建网站服务器
  • opengl多窗口绘图
  • 深入剖析kubernetes pdf
  • 安卓影音播放软件
  • glortho函数
  • ftp远程桌面
  • Linux Shell中判断进程是否存在的方法
  • 日历查询的算法怎么写
  • json对象结构中,关键字key必须为什么类型
  • 定额发票查询入口在哪里
  • 北京市国家税务局网站官网
  • 婚育证明可以开假的吗
  • 泉州市税务局投诉电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设