调用第三方接口

目录

一、分析给出的接口文档

二、请求体格式之间的区别

三、示例代码


一、分析给出的接口文档

一般的接口文档包括以下几大部分:

1、请求URL:http://{ip}:{port}/api/ec/dev/message/sendCustomMessageSingle

2、请求方式:POST、GET等

3、请求头:请求头里面携带一些接口需要的参数,例如 Toekn 等

4、请求体:请求体的格式有 Json、XML等

如下有一个简单的请求示例代码

二、请求体格式之间的区别

如图所示,常见的请求体的格式有以下几种:

form-data :用于上传文件或提交表单,特别是当表单中包含文件时。常见于需要同时上传文本数据和二进制文件的情况。

urlencoded:用于普通的表单提交,其中表单数据被编码为键值对,并且这些键值对用URL编码(如key1=value1&key2=value2)。是HTML表单默认的编码方式之一。

binary:通常指的是原始的二进制数据,没有特定的格式。用于传输纯二进制数据,如图片、视频或其他文件。

msgpack :MsgPack是一种高效的二进制序列化格式,类似于JSON但更紧凑,适用于网络传输。适合于性能敏感的应用程序,因为它减少了传输的数据量。

Json:{"":""}

XML等

三、示例代码

public static String doPost(String url,String userName,String pwd,String xml){// 创建Httpclient对象CloseableHttpClient httpClient = HttpClients.createDefault();CloseableHttpResponse response = null;String resultString = "";try {// 创建Http Post请求HttpPost httpPost = new HttpPost(url);// 创建请求内容httpPost.setHeader("HTTP Method", "POST");httpPost.setHeader("Connection", "Keep-Alive");httpPost.setHeader("Content-Type", "text/xml; charset=UTF-8");httpPost.setHeader("Authorization", getHeader(userName, pwd));httpPost.setHeader("Username",userName);httpPost.setHeader("Password",pwd);StringEntity entity = new StringEntity(xml, "UTF-8");entity.setContentType("text/xml;charset=UTF-8");httpPost.setEntity(entity);// 执行http请求response = httpClient.execute(httpPost);if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {resultString = EntityUtils.toString(response.getEntity(), "UTF-8");} else {String tmp = EntityUtils.toString(response.getEntity(), "UTF-8");throw new RuntimeException(tmp);}} catch (Exception e) {throw new RuntimeException(e);} finally {try {if(response!=null){response.close();}} catch (Exception e) {e.printStackTrace();}if(httpClient!=null){try{httpClient.close();} catch (Exception e) {e.printStackTrace();}}  	            }return resultString;
}private static String getHeader(String userName,String pwd) {String auth = userName + ":" + pwd;byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(Charset.forName("US-ASCII")));String authHeader = "Basic " + new String(encodedAuth);return authHeader;
}

此段代码 Post 请求通用,需要注意的是创建完 Http 请求后需要使用 finally 关闭连接,否则当多次异常后可能会出现内存溢出的情况

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

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

相关文章

基于SpringBoot+Vue的超市管理系统设计实现(协同过滤算法、图形化分析)

🎈系统亮点:协同过滤算法、图形化分析; 一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构:B/S架构 运行环境:win10/win11、jdk17 前端: 技术:框…

主数据驱动的数据治理高清书籍领取

主数据驱动的数据治理 原理、技术与实践 高清版本电子书领取 绝对高清版本的电子书,抓紧来获取吧~~~

【宽字节注入】

字符编码 url 编码 GBK编码 utf8 编码 宽字节注入 php中的转译函数 宽字节注入介绍 练习 正常输入没有回显: 没有回显 usernameadmin&passwordadmin 闭合单引号,依旧没有回显 usernameadmin and 11%23&passwordadmin利用宽字节尝试闭合,依旧…

DIFY上使用多种大语言模型(MindCraft API)

注册MindCraft并创建API KEY 首先我们在智匠MindCraft上注册账号并创建API KEY,参考接口调用文档,查看我们能调用哪些模型。我们可以看到这个开发平台上整合了主流的大语言模型,并且是兼容openai接口的。 进入DIFY的设置界面 然后我们在DIFY上…

ArcGIS属性表怎么连接Excel表格?

ArcGIS中,属性表是存储空间要素非几何特征属性的重要工具。有时,我们需要将这些属性与外部数据,如Excel表格中的数据进行连接。以下是如何在ArcGIS中实现这一过程的步骤。 要把Excel表里的数据导入到ArcGIS里的地图数据里面,对数…

C语言 | Leetcode C语言题解之第463题岛屿的周长

题目&#xff1a; 题解&#xff1a; const int dx[4] {0, 1, 0, -1}; const int dy[4] {1, 0, -1, 0};int dfs(int x, int y, int** grid, int n, int m) {if (x < 0 || x > n || y < 0 || y > m || grid[x][y] 0) {return 1;}if (grid[x][y] 2) {return 0;}g…

统信服务安装mysql8.4版本,二进制文件

一&#xff1a;建立MySQL用户和用户组 sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql 二&#xff1a;下载MySQL安装包 MySQL :: Download MySQL Community Server (Archived Versions) 找对应的版本 三&#xff1a;解压二进制安装包&#xff0c;从命…

【Linux复习】指令

文章目录 1.>2. cat3.系统命令bash和shell和kernel权限只被认证一次粘滞位引入前提知识场景解释为什么普通用户&#xff08;无w权限&#xff09;可以删除文件&#xff1f;为什么普通用户通过sudo设置文件权限为000后仍能删除文件&#xff1f; 结论 粘滞位是干什么的&#xf…

8款宝藏手机app,适配安卓和苹果手机

好用的手机APP太多&#xff0c;差点挑花了眼&#xff01;今天来分享4款苹果手机和4款安卓手机上的宝藏软件&#xff0c;看看你喜欢哪一款~ IOS系统APP 1.搜图神器 一款拥有海量图片资源的图片搜索神器&#xff0c;它聚合海内外知名搜索引擎&#xff0c;想要图片直接搜索就行…

Vue3 响应式数据

ref 基本数据类型响应式 语法&#xff1a;let xxx ref(初始值)。**返回值&#xff1a;**一个RefImpl的实例对象&#xff0c;简称ref对象或ref&#xff0c;ref对象的value属性是响应式的。注意点&#xff1a; TS中操作数据需要&#xff1a;xxx.value&#xff0c;但模板中不需要…

第三届“讯方杯”大赛常见问题解答

9月20日&#xff0c;第三届“讯方杯”全国大学生信息技术应用及创新大赛正式拉开帷幕。自大赛报名启动以来&#xff0c;全国各大高校热烈响应、广泛参与。为了更好地服务于各参赛团队&#xff0c;大赛组委会针对收集到的各类常见问题&#xff0c;整理了热点问答集锦&#xff0c…

大型公共建筑用电管理集中监测平台功能介绍

在当国家对能源管理和环境保护日益重视的背景下&#xff0c;相关政策不断出台&#xff0c;推动企业用能向智能化管理、数字化管理方向转型。电能因为方便传输、易于转换、便于控制等特性&#xff0c;成为广大企事业单位生产、办公主要的能量来源。双碳背景下&#xff0c;由于电…

动态内存管理练习题的反汇编代码分析(底层)

目录 1.练习题回顾 2.反汇编代码 3.分析 lea指令的作用 1.给普通指针赋值 反汇编显示 2.给结构体指针赋值 反汇编显示 mov 指令的作用 1.取普通指针指向地址的值(等价为C语言的*) 反汇编显示 2.取结构体指针指向地址里的值 反汇编显示 3.总结->的作用 4.回到…

回归预测 | Matlab基于SABO-SVR减法平均算法优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab基于SABO-SVR减法平均算法优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SABO-SVR减法平均算法优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab基于SABO-SVR减法平均算法优化…

Robust多模态模型的开发

本文所涉及所有资源均在 传知代码平台 可获取。 目录 Robust 多模态模型&#xff1a;寻找遗失的模态&#xff01; 一、研究背景 二、模型结构和代码 三、数据集介绍 六、性能展示 六、实现过程 七、运行过程 Robust 多模态模型&#xff1a;寻找遗失的模态&#xff01; 近年来&a…

最新项目全功能知识付费小程序源码系统 带完整的安装代码包以及搭建部署教程

系统概述 知识付费小程序源码系统是一款基于先进技术架构设计的综合性平台。它旨在为用户提供一站式的知识付费解决方案&#xff0c;涵盖了从内容创作到用户管理的各个环节。 该系统采用了现代化的开发理念和技术手段&#xff0c;确保了系统的稳定性、安全性和高效性。它具有…

ClickHouse 24.9 版本发布说明

本文字数&#xff1a;7295&#xff1b;估计阅读时间&#xff1a;19 分钟 作者&#xff1a;ClickHouse Team 本文在公众号【ClickHouseInc】首发 又到新版本发布的时间了&#xff01; 发布概要 本次ClickHouse 24.9 版本包含了23个新功能&#x1f381;、14项性能优化&#x1f6f…

Golang反射解说

在Go语言中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时检查、修改和操作变量的类型信息。 反射主要用于处理那些在编译时无法确定类型的情况&#xff0c;比如处理接口类型的值、实现通用的函数等。 Go语言中反射的基本…

邮件系统国产化改造: 保障信息安全、提升效率的最佳选择

在当前数字化转型的大背景下&#xff0c;我国政府提出了构建网络强国和数字强国的宏伟蓝图。这一战略的实施&#xff0c;不仅为数字政府的建设提供了坚实的基础&#xff0c;也为政府和企业的数字化升级指明了方向。在这一进程中&#xff0c;邮件系统的国产化改造就显得尤为重要…

Chromium 关闭 Google Chrome 后继续运行后台应用功能分析c++

此功能允许关闭 Google Chrome 后继续运行后台&#xff0c;控制此功能的开关是 // Set to true if background mode is enabled on this browser. //更改此值可以修改默认开启关闭 inline constexpr char kBackgroundModeEnabled[] "background_mode.enabled"; …