HTTPS POST发送FORM 表单参数 返回 Json

文章目录

            • 依赖
            • 工具类

依赖
        <!--httpClient Start--><!--httpClient 文件上传 Start--><!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version></dependency><!-- https://mvnrepository.com/artifact/commons-io/commons-io --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.11.0</version></dependency><!--httpClient 文件上传 End--><!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpcore</artifactId><version>4.4.14</version></dependency><!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient --><dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.1</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpmime --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpmime</artifactId><version>4.5.13</version></dependency><!--httpClient End-->
工具类
package com.sinosoft.fis.utils;import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLContextBuilder;
import org.apache.http.conn.ssl.TrustStrategy;
import org.apache.http.conn.ssl.X509HostnameVerifier;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.util.EntityUtils;import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLException;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocket;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;/*** 实现HTTPS协议POST请求FORM参数返回报文** @author gblfy* @date 2022-09-26*/
public class HttpFormClient {private static PoolingHttpClientConnectionManager connMgr;private static RequestConfig requestConfig;private static final int MAX_TIMEOUT = 7000;static {// 设置连接池connMgr = new PoolingHttpClientConnectionManager();// 设置连接池大小connMgr.setMaxTotal(100);connMgr.setDefaultMaxPerRoute(connMgr.getMaxTotal());RequestConfig.Builder configBuilder = RequestConfig.custom();// 设置连接超时configBuilder.setConnectTimeout(MAX_TIMEOUT);// 设置读取超时configBuilder.setSocketTimeout(MAX_TIMEOUT);// 设置从连接池获取连接实例的超时configBuilder.setConnectionRequestTimeout(MAX_TIMEOUT);// 在提交请求之前 测试连接是否可用configBuilder.setStaleConnectionCheckEnabled(true);requestConfig = configBuilder.build();}/*** 发送 HTTPS POST 请求** @param apiUrl      API接口URL* @return*/public static String sendPostHttpSSLJsonOrForm(String apiUrl) {CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(createSSLConnSocketFactory()).setConnectionManager(connMgr).setDefaultRequestConfig(requestConfig).build();HttpPost httpPost = new HttpPost(apiUrl);CloseableHttpResponse response = null;String httpStr = null;try {httpPost.setConfig(requestConfig);response = httpClient.execute(httpPost);int statusCode = response.getStatusLine().getStatusCode();if (statusCode != HttpStatus.SC_OK) {return null;}HttpEntity entity = response.getEntity();if (entity == null) {return null;}httpStr = EntityUtils.toString(entity, "utf-8");} catch (Exception e) {e.printStackTrace();} finally {if (response != null) {try {EntityUtils.consume(response.getEntity());} catch (IOException e) {e.printStackTrace();}}}return httpStr;}/*** 创建SSL安全连接** @return*/private static SSLConnectionSocketFactory createSSLConnSocketFactory() {SSLConnectionSocketFactory sslsf = null;try {SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {@Overridepublic boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {return true;}}).build();sslsf = new SSLConnectionSocketFactory(sslContext, new X509HostnameVerifier() {@Overridepublic boolean verify(String arg0, SSLSession arg1) {return true;}@Overridepublic void verify(String host, SSLSocket ssl) throws IOException {}@Overridepublic void verify(String host, X509Certificate cert) throws SSLException {}@Overridepublic void verify(String host, String[] cns, String[] subjectAlts) throws SSLException {}});} catch (GeneralSecurityException e) {e.printStackTrace();}return sslsf;}public static void main(String[] args) {String postSSL = HttpFormClient.sendPostHttpSSLJsonOrForm("https://gblfy/openapi/auth/credential?clientId=newchinalife&secret=f1hyv7av&userType=2");System.out.println("返回" + postSSL);}
}

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

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

相关文章

如何基于 K8s 构建下一代 DevOps 平台?

简介&#xff1a; 当前云原生 DevOps 体系现状如何&#xff1f;面临哪些挑战&#xff1f;如何通过 OAM 解决云原生 DevOps 场景下的诸多问题&#xff1f;云原生开发应用模型 OAM(Open Application Model) 社区核心成员孙健波将为大家一一解答&#xff0c;并分享如何基于 OAM 和…

中国电子云发布专属云CECSTACK 以全栈信创赋能千行百业

2021年4月26日&#xff0c;第四届数字中国建设峰会召开之际&#xff0c;中国电子云在福州举办“云可信 创未来——中国电子云全系产品发布暨战略伙伴签约仪式”&#xff0c;重磅发布中国电子云“信创”实践和全栈自主专属云CECSTACK。中国电子副总经理、党组成员陈锡明&#xf…

idea 双击打不开了咋办

文章目录1. 文件内容还原2. 删除以前旧文件3. 删除以前缓存文件1. 文件内容还原 首先检查一下idea64.exe.vmoptions是否有改动 有的话可以把-javaagent的这一行删除&#xff0c;删除后保存再尝试看看能不能打开。 2. 删除以前旧文件 如果还是不行的话我们可以找打开 C:\Us…

使用日志审计查看MaxCompute执行过哪些操作

简介&#xff1a; MaxCompute完整地记录用户的各项操作行为&#xff0c;会自动将操作日志实时投递到ActionTrail中&#xff0c;ActionTrail针对作业&#xff08;Instance&#xff09;、表&#xff08;Table&#xff09;、函数&#xff08;Function&#xff09;、资源&#xff0…

谈“云”色变?近80%企业曾遭受数据泄露

出品 | 《大咖来了》 一边是企业上云这一毋庸置疑的发展趋势&#xff0c;但另一边&#xff0c;云数据泄露事件的频繁&#xff0c;却让不少企业谈“云”色变。 2020年2月&#xff0c;万豪酒店520万客人信息被泄露&#xff0c;英国信息专员办公室(ICO)对其进行了1840万英镑(约1.…

云网络十年:探路者阿里云的理想和坚持

简介&#xff1a; 转载自CSDN&#xff1a;专访阿里云网络产品线负责人&#xff0c;阿里云智能研究员祝顺民&#xff08;花名江鹤&#xff09;和阿里云资深产品专家吴天议。 近日&#xff0c;阿里巴巴发布强劲财季业绩后&#xff0c;高盛、摩根大通等多家机构上调阿里云估值至千…

idea resources和webapp下面的文件不编译怎么办?

真实案例 guns项目使用maven 3.6.1版本搭建的&#xff0c;但是同事用maven 3.6.3编译不好使&#xff0c;解决方案直接用maven 3.6.1版本&#xff0c;问题解决

电商搜索“随便逛逛,想知道大家都在搜什么?现在什么最热门?”

简介&#xff1a; 有时候用户只是随便逛逛&#xff0c;没有明确的搜索意图&#xff0c;如何推荐更多优质查询词&#xff0c;引导其搜索、购买那&#xff1f;本文结合实际案例运用阿里云开放搜索的解决方案实现优化。 案例背景 某O2O电商平台&#xff0c;线下覆盖上百家连锁超…

汇量科技收购热云数据,加速SaaS工具生态布局

4月28日&#xff0c;全球性技术服务平台汇量科技Mobvista(HK.1860)发布公告&#xff0c;宣布将全资收购热云数据——国内领先的第三方移动监测和营销科技公司&#xff0c;总交易对价超过15亿人民币(含现金及股票)。收购完成后&#xff0c;热云数据将作为汇量科技旗下全资子公司…

Fluid: 让大数据和 AI 拥抱云原生的一块重要拼图

简介&#xff1a; 如何驱动大数据、AI 应用在云原生场景下高效运行是一个既有理论意义又具应用价值的重要挑战性问题&#xff0c;为系统化解决相关问题&#xff0c;学术界和工业界密切合作&#xff0c;南京大学 PASALab 副研究员顾荣博士、阿里云容器服务高级技术专家车漾、All…

java 携带SSL证书 请求https 接口对接

文章目录1. 核心依赖2. 辅助依赖3.工具类1. 核心依赖 <!--JSON依赖--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.7</version></dependency><!--httpClient Start--…

估值百亿独角兽爱学习教育集团:通过云原生实践与时间赛跑

简介&#xff1a; iiMedia Research&#xff08;艾媒咨询&#xff09;数据显示&#xff0c;在线教育市场规模保持逐年增长的态势&#xff0c;2019年在线教育市场规模已突破4000亿元。在疫情的助推下&#xff0c;在线教育加速渗透&#xff0c;市场空间有望进一步打开&#xff0c…

亚马逊云科技张文翊:引领企业可持续发展的绿色云端之旅

亚马逊全球副总裁、亚马逊云科技大中华区执行董事张文翊 “未来十年将是可持续发展决定性的十年&#xff0c;2030年的经济需求将与今天大不相同。”这是前不久亚马逊创始人杰夫贝索斯在他作为CEO最后一封致股东信中的一句话&#xff0c;我深以为然。 《巴黎协定》制定了一个全…

腾讯云~安装ActiveMQ

文章目录1. docker 构建2. 腾讯云防火墙策略3. 效果图1. docker 构建 docker pull webcenter/activemq mkdir /app/activemq/log -p docker run --nameactivemq \-itd \-p 8161:8161 \-p 61616:61616 \-e ACTIVEMQ_ADMIN_LOGINadmin \-e ACTIVEMQ_ADMIN_PASSWORD123456 \--res…

如何实现一个跨库连表SQL生成器?

简介&#xff1a; 用户只需在前端简单配置下指标&#xff0c;系统即可自动生成大宽表&#xff0c;让用户查询到他所需要的实时数据&#xff0c;数据源支持跨库并支持多种目标介质。这样的数据全局实时可视化如何实现&#xff1f;本文从需求分析开始&#xff0c;分享自动生成SQL…

mybatis的example.createCriteria()方法学习记录

文章目录一、mapper的crud方法:1. selectByPrimaryKey(id)2. selectByExample(example)3. selectCountByExample(example)4. updateByPrimaryKey(User user)5. updateByPrimaryKeySelective(User user) (建议使用)6. updateByExample(User user,Example example)7. updateByExa…

解密Arm Neoverse V1 和 Neoverse N2 平台 为下一代基础设施带来计算变革

在去年 9 月更新的产品路线图基础上&#xff0c;Arm 近日公开了Arm Neoverse™ V1 和 N2 平台的产品细节。为满足基础设施应用的各种需求&#xff0c;这两个平台的设计旨在解决当前正在运行的各种工作负载和应用问题&#xff0c;并分别带来 50%和 40%的性能提升。此外&#xff…

plsql 设置字体+工具栏图标大小调整

文章目录1. 字体设置2. 工具图标大小1. 字体设置 字体&#xff08;微软雅黑&#xff09;大小&#xff08;10号&#xff09;就可以 各种字体调整 2. 工具图标大小

云原生时代老牌IDC巨头谋求转型,世纪互联成立新品牌“互联科技(NEOLINK)”

编辑 | 宋慧 出品 | CSDN云计算 头图 | 世纪互联全新子品牌战略发布会现场图 4月28日&#xff0c;世纪互联举行2021新品牌战略发布会&#xff0c;正式发布全新子品牌“互联科技”&#xff08;NEOLINK&#xff09;。此次世纪互联整合集团内新零售及第一线事业群、成立新基建IDC…

中国开源持续燃烧,给开发者的两点思考

从“软件吞噬世界”再到“开源吞噬世界”&#xff0c;国际开源已步入 30 而立之年的进程中&#xff0c;越来越多开发者参与到开源中&#xff1a;据《2020 年 GitHub Octoverse 报告》显示&#xff0c;GitHub 上开发者数量达到 5600万&#xff0c;新增 6000 万个存储库以及 19 亿…