首页/新闻资讯/正文详情

JAVA对接第三方接口

发布时间:2026/9/27 3:00:38 来源:云帆数科 栏目:资讯中心
JAVA对接第三方接口
对接第三方接口是程序开发中的常见操作。下面是JAVA语言写的对接demoimport org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import org.json.JSONObject; import java.util.ArrayList; import java.util.List; /** * 开放平台接口调用示例 * 修复资源释放、泛型、异常处理、连接池、参数校验、状态码判断 */ public class GovOpenApiClient { // 统一字符集常量便于统一修改 private static final String CHARSET_GBK GBK; // 全局单例HttpClient带连接池复用TCP连接 private static final CloseableHttpClient HTTP_CLIENT; private static final RequestConfig REQUEST_CONFIG; static { // 全局超时配置 REQUEST_CONFIG RequestConfig.custom() .setConnectTimeout(300 * 1000) .setSocketTimeout(300 * 1000) .build(); // 创建带连接池的http客户端全局复用 HTTP_CLIENT HttpClients.createDefault(); } public static void main(String[] args) { // 1. 业务参数实际项目放入yml/properties配置 String appkey ; String secret ; String nlid ; String sxid ; String apiUrl http://127.0.0.1:8086/scspsp/xxxx; // 2. 组装业务JSON报文 JSONObject businessJson new JSONObject(); businessJson.put(sfzhm, 370101000000000000); businessJson.put(姓名, 张三); try { // 3. 前置参数非空校验 if (appkey.isBlank() || secret.isBlank() || nlid.isBlank() || sxid.isBlank()) { System.err.println(关键配置参数不能为空); return; } // 生成签名、加密业务报文 String sign ScsUtil.createSign(secret, businessJson); String parastr ScsUtil.encryptMode(businessJson.toString()); if (sign.isBlank() || parastr.isBlank()) { System.err.println(签名或业务报文加密失败); return; } // 4. 构造表单参数规范泛型 ListBasicNameValuePair formParams new ArrayList(); formParams.add(new BasicNameValuePair(appkey, appkey)); // 安全优化secret不传递到接口仅本地用于生成签名 formParams.add(new BasicNameValuePair(sign, sign)); formParams.add(new BasicNameValuePair(nlid, nlid)); formParams.add(new BasicNameValuePair(sxid, sxid)); formParams.add(new BasicNameValuePair(parastr, parastr)); // 5. 发起POST请求 HttpPost httpPost new HttpPost(apiUrl); httpPost.setConfig(REQUEST_CONFIG); HttpEntity formEntity new UrlEncodedFormEntity(formParams, CHARSET_GBK); httpPost.setEntity(formEntity); // 7. try-with-resources 自动关闭流杜绝资源泄漏 try (CloseableHttpResponse response HTTP_CLIENT.execute(httpPost)) { HttpEntity respEntity response.getEntity(); if (respEntity null) { System.err.println(接口返回空响应); return; } // 判断HTTP状态码 int statusCode response.getStatusLine().getStatusCode(); String respStr EntityUtils.toString(respEntity, CHARSET_GBK); // 打印日志便于排查 System.out.println(请求地址 apiUrl); System.out.println(响应状态码 statusCode); System.out.println(接口返回报文 respStr); if (statusCode ! 200) { System.err.println(接口调用失败非200响应码); return; } // 业务报文解析逻辑... } finally { // 确保消耗流释放资源 EntityUtils.consume(formEntity); } } catch (Exception e) { // 细分异常可捕获SocketTimeoutException、ConnectException等单独处理 System.err.println(接口调用发生异常 e.getMessage()); e.printStackTrace(); } } }

相关推荐

Android TextView多颜色文本实现与优化
Android TextView多颜色文本实现与优化

1. 为什么TextView需要显示两种颜色?在Android应用开发中,TextView是最基础也是最常用的UI组件之一。但很多开发者可能没意识到,单一颜色的文本展示其实浪费了TextView的强大能力。想象一下这样的场景:在一个电商App的商品价格展示… · 2026/7/22 9:02:52

Android Handler机制:异步消息处理与UI线程更新
Android Handler机制:异步消息处理与UI线程更新

1. 异步消息处理与UI线程更新的核心机制在Android开发中,处理耗时操作与UI更新的矛盾是个经典问题。我经历过无数次在子线程直接操作UI导致的崩溃后,终于彻底理解了Handler这套消息传递机制的精妙之处。它的本质是建立一个跨线程通信的桥梁,让… · 2026/9/22 20:59:25

Python Kivy跨平台开发安卓应用实战指南
Python Kivy跨平台开发安卓应用实战指南

1. 项目概述:Python与Kivy的安卓开发生态十年前我第一次接触移动开发时,Java和Objective-C还是绝对主流。如今Python开发者也能通过Kivy框架构建原生安卓应用,这要归功于跨平台技术的成熟。Kivy作为纯Python编写的开源框架,最大优… · 2026/9/26 0:25:28

FTDI串口驱动下载安装与故障排查实战指南
FTDI串口驱动下载安装与故障排查实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 3:00:35

3类建站方案怎么选:分类网站建设避坑实战指南
3类建站方案怎么选:分类网站建设避坑实战指南

3类建站方案怎么选:分类网站建设避坑实战指南 自己不会代码想做网站,面对满屏的“分类网站建设”术语,是不是头都大了?别慌,这行干了十年,我见过太多老板在这一步踩坑。到底怎么选,其实没那么玄乎,核心就看你的业务逻辑和预算上限。今天就把这套底层… · 2026/9/27 3:00:35

计算机毕业设计选题推荐:基于大数据的动漫评分和人气数据可视化与分析、毕业设计选题、选题推荐、高质量项目、毕设指导、项目定制、源码、讲解文档
计算机毕业设计选题推荐:基于大数据的动漫评分和人气数据可视化与分析、毕业设计选题、选题推荐、高质量项目、毕设指导、项目定制、源码、讲解文档

💖💖作者:计算机毕业设计小途 💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等,开发项目包括… · 2026/9/27 3:00:28

2026实测:专业降AIGC平台选这款就对了
2026实测:专业降AIGC平台选这款就对了

2026 年降 AIGC 工具已经从“基础语义调整”进化为多维度智能优化系统,核心评估指标涵盖 AI 生成痕迹消除效率、学术语言适配度、格式结构完整性、长段落逻辑一致性、内容原创性提升效果以及高校查重系统兼容性。本次测评涵盖 8 款主流工具,测试范围覆盖… · 2026/9/27 3:00:22

网站不备案可以访问吗2026最新解析
网站不备案可以访问吗2026最新解析

网站不备案可以访问吗2026最新解析 改个需求建站公司拖一周,这种憋屈事谁没遇到过?你急得跳脚,对方却按部就班,最后还得看你脸色。其实很多时候,卡脖子的不是技术,而是你对规则底线的模糊认知。比如那个老生常谈却总让人迷糊的问题:… · 2026/9/27 3:00:22

遇到过的八股
遇到过的八股

遇到过的高频八股1.介绍一下智能指针(CPP)智能指针是c基于RAII资源管理方式,管理动态生命周期对象的设计,包括unique_ptr,它独享所有权,只允许被移动不允许被拷贝。sharedptr包括强引用计数,它共… · 2026/9/27 3:00:22

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码