一个方法搞定后台返回的信息,话不多说,看程序吧

程序中需要的jar包一般都能找到,这次就不进行上传jar了(还要审核,太麻烦),如果找不到可留言

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.ConnectException;
import java.net.URL;import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;public class httpsRequest{/*** 发送https请求* * @param requestUrl 请求地址* @param requestMethod 请求方式(GET、POST)* @param outputStr 提交的数据* @return 返回服务器响应的信息*/public static String httpsRequest(String requestUrl, String requestMethod, String outputStr) {try {// 创建SSLContext对象,并使用我们指定的信任管理器初始化TrustManager[] tm = { new MyX509TrustManager() };SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");sslContext.init(null, tm, new java.security.SecureRandom());// 从上述SSLContext对象中得到SSLSocketFactory对象SSLSocketFactory ssf = sslContext.getSocketFactory();URL url = new URL(requestUrl);HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();conn.setSSLSocketFactory(ssf);conn.setDoOutput(true);conn.setDoInput(true);conn.setUseCaches(false);// 设置请求方式(GET/POST)conn.setRequestMethod(requestMethod);conn.setRequestProperty("content-type", "application/x-www-form-urlencoded");// 当outputStr不为null时向输出流写数据if (null != outputStr) {OutputStream outputStream = conn.getOutputStream();// 注意编码格式outputStream.write(outputStr.getBytes("UTF-8"));outputStream.close();}// 从输入流读取返回内容InputStream inputStream = conn.getInputStream();InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");BufferedReader bufferedReader = new BufferedReader(inputStreamReader);String str = null;StringBuffer buffer = new StringBuffer();while ((str = bufferedReader.readLine()) != null) {buffer.append(str);}// 释放资源bufferedReader.close();inputStreamReader.close();inputStream.close();inputStream = null;conn.disconnect();return buffer.toString();} catch (ConnectException ce) {System.err.println("连接超时:{}"+ ce);} catch (Exception e) {System.err.println("https请求异常:{}"+ e);}return null;}//字符编码统一格式为UTF-8public static String urlEncodeUTF8(String source){String result = source;try {result = java.net.URLEncoder.encode(source,"utf-8");} catch (UnsupportedEncodingException e) {e.printStackTrace();}return result;}
}

更多好用编程组件,博客中逛逛吧…

Java发送https请求,综合post请求,get请求,获取网络返回的信息相关推荐

  1. java 发送带basic认证的http post请求实例代码_图解HTTP学习笔记(八)—确认访问用户身份的认证...

    某些 Web 页面只想让特定的人浏览,或者干脆仅本人可见.为达到这个目标,必不可少的就是认证功能. 一.认证 核对登录者本人才知道的信息: 密码.动态令牌.数字证书.生物认证.IC卡等 HTTP 使用 ...

  2. java调用第三方接口_java调用第三方接口,获取接口返回的数据。

    java接收远程调用的数据,得到的是如上个数的返回内容,我怎么写才能获取到值,现在使用的请求方法如下: public static HttpResult postJsonData(String url ...

  3. JAVA通过HTTPS发送POST请求的方法

    因为调用一个外部接口,会用到POST请求,而且还是Https的,但是由于之前学习的时候没有用到,所以研究了很久才弄懂了怎么去用JAVA实现Https发送post请求 使用的是HttpsURLConne ...

  4. java发送get请求,并带上参数,HTTP和HTTPS都可以

    //java发送get请求,并带上参数public static String send_Get(String encode_data){CloseableHttpClient httpClient ...

  5. java后台发送https请求(基于httpTemplate的httpUtil工具实现)

    最近做连续做了一些java后台发送http请求的需求,发现项目里实现http请求的写法各异,不够简洁统一,于是基于httpTemplate自行封装了一个http请求工具,常见的json和octet-s ...

  6. java模拟https请求_java-用httpclient模拟发送https请求

    --调用项目提供接口,接口是用HTTP URL实现的,最初的想法是另一个项目用jQuery post进行请求. ---但是,很可能另一个项目是部署在别的机器上,那么就存在跨域问题,而jquery的po ...

  7. java实现https请求

    参考: https://www.cnblogs.com/chinway/p/5802541.html java 实现https请求 JSSE是一个SSL和TLS的纯Java实现,通过JSSE可以很容易 ...

  8. RestTemplate 发送 Https 请求调用

    RestTemplate 发送 Https 请求调用 个人博客:https://jacob.org.cn import org.apache.http.conn.ssl.NoopHostnameVer ...

  9. Java发送form-data请求实现文件上传

    如何使用Java发送form-data格式的请求上传multipart文件? 封装了以下工具类: package com.leeyaonan.clinkz.common.util;import jav ...

  10. springboot 使用restTemplate 发送https请求 忽略ssl证书

    最近在写接口的时候给对方回推数据,发送https请求的时候遇到这么个报错:javax.net.ssl.SSLHandshakeException: sun.security.validator.Val ...

最新文章

  1. Linux进程通信中IPC对象——IPC_PRIVATE与ftok
  2. apache2.2 做后端,增加真实ip到日志中
  3. 美多商城之商品(准备商品数据 )、Dockers容器和FastDFS存储
  4. vc6.0 记录一些常见问题的解决方案
  5. centos 上yum命令删除还原补救方法
  6. canal应用一:基于mysql binlog的日志解析工具
  7. 【转帖】漫话C++0x(四) —- function, bind和lambda
  8. Linux 安装卸载软件及管理软件仓库
  9. HTML5与CSS3权威指南笔记案例1
  10. 机器学习基石笔记5——为什么机器可以学习(1)
  11. 隐马尔科夫模型(Hidden Markov Models) 系列之四
  12. C++:STL之vector,deque对比
  13. 微软Office Live Workspace测试版开放全球注册
  14. 深度解析脑机接口技术的现状与未来!
  15. disk dynamic invalid 解决办法 动态磁盘转换器
  16. 彻底删除微软拼音输入法2003
  17. variance和variation的区别
  18. 中国势力主导NGN建设 华为中兴ASB三足鼎立
  19. Ubuntu系统电池管理软件TLP(Thinkpad设置电池充电阈值)
  20. 保险私有云 IaaS 资源池选型与演进之路 | SmartX 客户实践

热门文章

  1. POJ 2752 Seek the Name, Seek the Fame
  2. openvas-tutorial-for-beginners
  3. SDWebImage的简单使用
  4. 验证码类库CaptchaMvc
  5. linux下面配置安装nodejs+npm
  6. 【转】修改UCGUI源代码以支持多个独立窗体的说明
  7. LTT (Linux Trace Toolkit) 简介
  8. 聚合(Aggregation)和组合(Composition)的区别
  9. OpenWRT原版固件安装
  10. HCIE-RS面试--MAC地址漂移及应对