博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
请求https跳过证书认证
阅读量:4181 次
发布时间:2019-05-26

本文共 3669 字,大约阅读时间需要 12 分钟。

package com.hans.common.util;import javax.net.ssl.*;import java.io.*;import java.net.HttpURLConnection;import java.net.URL;import java.security.cert.X509Certificate;/** * @author xiaobu * @version JDK1.8.0_171 * @date on  2020/12/3 17:17 * @description */public class MyTrustManager {
public static void main(String[] args) {
} public static String sendHtpps(String url,String param) {
String result = ""; PrintWriter out = null; BufferedReader in = null; HttpURLConnection conn; try {
trustAllHosts(); URL realUrl = new URL(url); // 通过请求地址判断请求类型(http或者是https) if ("https".equals(realUrl.getProtocol().toLowerCase())) {
HttpsURLConnection https = (HttpsURLConnection) realUrl.openConnection(); https.setHostnameVerifier(DO_NOT_VERIFY); conn = https; } else {
conn = (HttpURLConnection) realUrl.openConnection(); } // 设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // conn.setRequestProperty("Content-Type", "text/plain;charset=utf-8"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); out.print(param); // 发送请求参数 // out.print(a); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) {
result += line; } } catch (Exception e) {
e.printStackTrace(); } finally {
// 使用finally块来关闭输出流、输入流 try {
if (out != null) {
out.close(); } if (in != null) {
in.close(); } } catch (IOException ex) {
ex.printStackTrace(); } } return result; } private static void trustAllHosts() {
// Create a trust manager that does not validate certificate chains TrustManager[] trustAllCerts = new TrustManager[] {
new X509TrustManager() {
@Override public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return new java.security.cert.X509Certificate[] {
}; } @Override public void checkClientTrusted(X509Certificate[] chain, String authType) {
} @Override public void checkServerTrusted(X509Certificate[] chain, String authType) {
} } }; // Install the all-trusting trust manager try {
SSLContext sc = SSLContext.getInstance("TLS"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); } catch (Exception e) {
e.printStackTrace(); } } private final static HostnameVerifier DO_NOT_VERIFY = new HostnameVerifier() {
@Override public boolean verify(String hostname, SSLSession session) {
return true; } };}

转载地址:http://tzgai.baihongyu.com/

你可能感兴趣的文章
最新通知:国内一大批网站和APP将告别弹窗广告!
查看>>
GitHub 开源神器:图片秒变文件
查看>>
老师吴恩达,身家又增 20 亿!
查看>>
基金跌了怎么办?来听听大咖教你怎么做!
查看>>
笑死,小米新logo是这么来的
查看>>
假如易立竞吐槽程序员。。。
查看>>
年薪百万必读书单,送100本!
查看>>
1MB小工具,一键关闭Windows最烦人的功能!
查看>>
深度学习绘图模板.pptx
查看>>
B站向北邮道歉!!!
查看>>
明明程序员很累,为什么还有这么多人想入行?
查看>>
国家电网是“围城”?辞职吗?
查看>>
长沙,牛逼啊!
查看>>
卧槽!这 TM 才是真正的老司机看片神器!!!
查看>>
我差点信了......
查看>>
输入百度网址后,我发现了一个秘密...
查看>>
卧槽,被盗号了!!!
查看>>
TCP ,丫的终于来了!!
查看>>
你删除过的所有小黄片,它都能轻易找到
查看>>
小米低调上线的良心APP,永久免费真心好用!
查看>>