java封装HttpPost工具类,解决由于服务器证书问题导致HTTPS无法访问的情况

本文介绍了如何在Java中封装一个HttpPost工具类,以解决由于服务器证书问题导致的HTTPS无法正常访问的问题。通过创建多个辅助类如TrustAnyHostnameVerifier, BaseHttpX509TrustManager和BaseHttpSSLSocketFactory,实现了对HTTPS请求的信任管理。最后,展示了HttpPostClient类的使用方法,方便调用HTTP接口。" 116474874,7662313,Django与Ajax交互详解:案例与CSRF认证,"['Django', 'web开发', 'Ajax交互', '前端后端', '文件上传', 'JSON']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建PostConstants类

package com.xiao.yan.http;

public class PostConstants {
   
   

    public static final String encoding = "utf-8";

    public static final boolean isProxy = false;

    public static final String proxyAddress = "187.3.18.71";

    public static final int proxyPort = 3128;

    public static final int status = 200;

    public static final int connectTimeout = 70000;// 连接超时时间

    public static final int readTimeout = 70000;// 读取结果超时时间
}

2、创建TrustAnyHostnameVerifier类

package com.xiao.yan.http;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLSession;

public class TrustAnyHostnameVerifier implements HostnameVerifier {
   
   

    public boolean verify(String hostname, SSLSession session) {
   
   
        return true;
    }
}

3、创建BaseHttpX509TrustManager类

package com.xiao.yan.http;

import javax.net.ssl.X509TrustManager;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

public class BaseHttpX509TrustManager implements X509TrustManager {
   
   

    static final BaseHttpX509TrustManager manger = new BaseHttpX509TrustManager();

    @Override
    public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
   
   
    }

    @Override
    public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
   
   
    }

    @Override
    public X509Certificate[] getAcceptedIssuers() {
   
   
        return null;
    }

}

4、创建BaseHttpSSLSocketFactory类

package com.xiao.yan.http;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
public class BaseHttpSSLSocketFactory extends SSLSocketFactory {
   
   

    private static Logger logger = LoggerFactory.getLogger(BaseHttpSSLSocketFactory.class);

    private SSLContext getSSLContext() {
   
   
        SSLContext contex
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值