EasyHttp 更新功能 form类型post + 限制次数

场景

easyHttp

easyHttp gitte 很高兴帮到您 点一个star 支持一下作者吧
之前的easyHttp只支持json类型post请求,而且有些接口有限制次数的,在循环调用过程中,容易出现突破限制的情况,现在我们引入了限制次数,例如一分钟6次,就算循环调它也会自己去调度次数。

form类型post

支持form 类型的post请求
“Content-Type”,“application/x-www-form-urlencoded”

 public static void main(String[] args) {RequestConfig requestConfig = new RequestConfig();requestConfig.setUrl("https://test");requestConfig.setEndpoint("oauth/token");requestConfig.setHttpMethod(HttpMethod.POST);// 请求头Map<String,Object> headers = new HashMap<>();headers.put("Content-Type","application/x-www-form-urlencoded");
//        String requestBody = "grant_type=client_credentials&client_id=l70a99ddd0f0494643884386ad49660b26&client_secret=54f87417c85c4334aec93360624b4e1c";Map<String,Object> form = new HashMap<>();form.put("grant_type","client_credentials");form.put("client_id","123");form.put("client_secret","456");GenericHttpAdapter<String> adapter = new GenericHttpAdapter<>(String.class);requestConfig.setForm(form);CustomResponse<String> response = adapter.sendGenericRequest(requestConfig);requestConfig.setHeaders(headers);// 处理响应if (response.getStatus() == 200) {System.out.println("请求成功:" + response.getData());} else {System.out.println("请求失败:" + response.getMsg());}}

这样我们支持了form类型的接口调用.

限制次数的限制

   // 创建一个RequestConfig对象并配置请求参数RequestConfig requestConfig = new RequestConfig();// 限制次数requestConfig.limitHttpRequest(6,1, TimeUnit.MINUTES);requestConfig.setRequestType(RequestType.TEST);requestConfig.setHttpMethod(HttpMethod.POST);requestConfig.setRequestBody(new StringBuilder("{\n" +"}").toString());Map<String, Object> queryParam = new HashMap<>();requestConfig.setQueryParams(queryParam);Map<String, Object> headerMap = new HashMap<>();headerMap.put("X-API-KEY", "123456");requestConfig.setHeaders(headerMap);// 创建适配器并发送请求GenericHttpAdapter<String> adapter = new GenericHttpAdapter<>(String.class);CustomResponse<String> response = adapter.sendGenericRequest(requestConfig);// 处理响应if (response.getStatus() == 200) {System.out.println("请求成功:" + response.getData());} else {System.out.println("请求失败:" + response.getMsg());}

这样就可以完成1分钟只能调用6次,防止ip被封(对外),数据击穿(对内)等风险。

后续更新

后续会陆续上 异步请求(预计十一月底),上传下载等功能,easyHttp使得调用方和接收方统一,是一个高性能(基于okhttp)的http工具,能够适配绝大部分http调用(对外,对内)场景,欢迎大家使用和提出意见!

结束

如有问题,可以私信作者(博客私信或者gitte提供的邮箱),有问必答,非easyHttp问题也可交流,一起学习一起进步,也欢迎一起建设easyHttp。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/141900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RT1170的ITM SWO配置,实现printf输出及PC指针的采样分析

最近公司准备启动一个新的项目&#xff0c;使用NXP的MIMXRT1170芯片作为主控&#xff0c;在熟悉芯片的过程中发现RT1176具备ITM和SWO功能模块&#xff0c;于是针对之前项目中因工程庞大导致调试困难的问题&#xff0c;决定使用SWO输出调试信息&#xff0c;这样既可以节省硬件的…

04 jenkins中使用各种变量(Powershell、cmd)

批处理中使用jenkins内部和变量插件定义的环境变量&#xff1a;%WORKSPACE%Powershell插件中使用jenkins内部环境变量&#xff1a;${ENV:WORKSPRACE}Powershell函数内部使用函数入参&#xff1a;$($dllname)Powershell中定义变量&#xff1a;$DllNamePowershell中使用powershel…

掌握这11点外贸知识,能够给你外贸工作带来很大提升!

01.产品展示 关于产品展示&#xff0c;非常重要也一再提及&#xff0c;一个好的产品必须包括以下几部分&#xff1a; ● 产品标题准确概括产品&#xff1b; ● 产品图片清晰且包括细节图&#xff1b; ● 提供详尽的产品描述&#xff0c;比如型号、尺寸、材质、配件等等。最好…

Collectors.groupingBy方法的使用

Collectors.groupingBy方法的使用 简单使用 业务场景&#xff1a;现在有5个人&#xff0c;这些人都年龄分部在18-30岁之间。现要求把他们按照年龄进行分组 key&#xff1a;年龄 value&#xff1a;数据列表 package com.liudashuai;import java.util.Arrays; import java.uti…

Linux上C++通过LDAP协议使用kerberos认证AES加密连接到AD服务器

一.前言 记录自己在实现这个流程遇到的各种问题&#xff0c;因为我也是看了许多优质的文章以及组内大佬的帮助下才弄成的&#xff0c;这里推荐一个大佬的文章&#xff0c;写的非常优秀&#xff0c;比我这篇文章写得好得很多&#xff0c;最后我也是看这个大佬的代码最终才实现的…

经典文献阅读之--Fast and Robust Ground Surface Estimation...(均匀B样条采样快速估计地平面)

0. 简介 对于激光雷达的地面估计分割&#xff0c;目前其实有很多方法做了快速并鲁棒的分割&#xff0c;比如说我们之前写的一篇《经典文献阅读之–FEC》一文中就给出了快速分割的方案&#xff0c;当中第一步就是需要对地面进行分割。而我们这次看的是一篇使用均匀B样条的方法来…

H5三网魔幻手游【众神传奇】win服务端+GM授权后台+架设教程

搭建资源下载地址&#xff1a;H5三网魔幻手游【众神传奇】win服务端GM授权后台架设教程-海盗空间

C++ 类型转换static_cast、dynamic_cast、const_cast、reinterpret_cast用法以及区别

在C++中,有四种主要的类型转换操作符:static_cast、dynamic_cast、const_cast、reinterpret_cast。它们各自用于不同的转换场景,并有不同的行为和限制。 static_cast: 用于进行静态类型转换,主要用于相关类型之间的转换,例如数值类型之间的转换、基类到派生类的转换(在安…

(八)Spring源码解析:Spring MVC

一、Servlet及上下文的初始化 1.1> DispatcherServlet的初始化 对于Spring MVC来说&#xff0c;最核心的一个类就是DispatcherServlet&#xff0c;它负责请求的行为流转。那么在Servlet的初始化阶段&#xff0c;会调用init()方法进行初始化操作&#xff0c;在DispatcherSe…

【Python3】【力扣题】268. 丢失的数字

【力扣题】题目描述&#xff1a; 【Python3】代码&#xff1a; 1、解题思路&#xff1a;哈希。元素去重&#xff0c;依次判断是否在0-n内&#xff0c;没有则返回。 知识点&#xff1a;set(...)&#xff1a;转为集合&#xff0c;集合中的元素不重复。 class Solution:def mis…

Angular 使用教程——基本语法和双向数据绑定

Angular 是一个应用设计框架与开发平台&#xff0c;旨在创建高效而精致的单页面应用 Angular 是一个基于 TypeScript 构建的开发平台。它包括&#xff1a;一个基于组件的框架&#xff0c;用于构建可伸缩的 Web 应用&#xff0c;一组完美集成的库&#xff0c;涵盖各种功能&…

OpenCV图像坐标系

绘制代码: X轴 # 选取两个点 point1 = (20, 0) point2 = (200, 0)# 在图像上绘制连接线 cv2.line(img, point1, point2, (

2023.11.12使用flask对图片进行黑白处理(base64编码方式传输)

2023.11.12使用flask对图片进行黑白处理&#xff08;base64编码方式传输&#xff09; 由前端输入图片并预览&#xff0c;在后端处理图片后返回前端显示&#xff0c;可以作为图片处理的模板。 关键点在于对图片进行base64编码的转化。 使用Base64编码可以更方便地将图片数据嵌入…

java8 : Collectors.groupingBy(分组)

Collectors.groupingBy配合Stream流使用&#xff0c;可以对集合中一个或多个属性进行分组&#xff0c;分组后还可以做聚合运算。 首先把数据放入集合&#xff1a; Product prod1 new Product(1L, 1, new BigDecimal("15.5"), "面包", "零食");…

低代码与传统开发:综合比较

近年来&#xff0c;低代码开发作为软件开发的趋势获得了显着的发展势头。根据 MarketsandMarkets 的数据&#xff0c;低代码开发市场预计将实现 28.1% 的大幅增长率&#xff0c;到 2025 年价值将达到 455 亿美元。这一显着增长表明了各行业和企业对低代码平台的需求和采用不断增…

2023前端流行的新技术

作为2023年之前的技术水平有限&#xff0c;以下是一些目前为止较为热门的前端开发技术和趋势&#xff0c;这些技术可能在2023年之前进一步发展和普及。 前端程序员可以考虑学习和掌握以下技术&#xff1a; 1.Vue 3和React Hooks&#xff1a;Vue.js和React是目前最受欢迎的JavaS…

人工智能基础_机器学习027_L2正则化_岭回归_非稀疏性_原理解读_公式推导---人工智能工作笔记0067

然后我们再来看一下岭回归,也就是第二范数对吧, 他的公式,平方以后,加和然后开平方.L2的公式是 可以看到L2公式,也是有个阿尔法,惩罚项对吧. 可以看到因为L2带有平方,所以他的图形是个圆形 我们可以把L2范数,进行画出来看看 这里我们先看L2的公式,这里我们让 这个公式写成1 …

2023-11-14 mysql-主从复制-重置主从连接-记录

摘要: mysql的主从复制, 当从库执行binlog出错后, 会中止主从复制. 此时需要重置主从连接, 以重建主从关系. 主库操作: 一. 清理同步的数据库 drop database test;二. 重置主库状态 reset master;reset slave all;三. 检测主库状态 show master status;mysql> show master…

【已解决】vscode 配置C51和MDK环境配置

使用命令 gcc -v -E -x c - 看自己gcc 有没有安装好 也可以在自己的vscode中新建一个终端 gcc -v g -v 首先把自己的C51 和MDK 路径 设置好 vscode 中设置 C51 和 MDK 的路径 这是你keil 中写 51单片机和 STM32 的 如果你出现什么include 的什么波浪线&#xff0c;那估计…

2023亚太杯数学建模B题思路解析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料5 最后 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 2023年第十三…