HttpClient通过正向代理访问HTTPS接口攻略

本文介绍了如何在Java中使用HttpClient4.5.3通过正向代理访问受限的HTTPS接口。针对接口调用方需遵守IP白名单策略的情况,提出了在云主机上部署正向代理的解决方案,并详细阐述了HttpClientBuilder、ProxySelector的配置过程,同时列举了实施过程中遇到的无用代码和系统环境变量设置无效等坑。

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

1.问题背景

一些HTTPS接口提供方有IP白名单策略,接口调用方必须通过报备过的出口IP访问接口。对于部署在云主机上的接口调用方服务而言,这是比较不友好的。

常用的方法是在指定出口IP的服务器上部署正向代理,接口调用方服务通过这个正向代理间接访问HTTPS接口。

2.解决方案

以HttpClient4.5.3为例。

1)定义 HttpClientBuilder

HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();

2)定义代理选择策略 ProxySelector

class MyProxySelector extends ProxySelector {
        ProxySelector defaultproxySelector = ProxySelector.getDefault();
        ArrayList<Proxy> noProxy = new ArrayList<Proxy>();
        ArrayList<Proxy> secureProxy = new ArrayList<Proxy>();

        public MyProxySelector(String ip, int port) {     //  正向代理的IP和端口
            noProxy.add(Proxy.NO_PROXY);   //  初始化无代理策略
            secureProxy.add(new Proxy(Type.HTTP, new InetSocketAddress(ip, port)));    //  初始化正向代理策略。PS:正向代理本身一般是HTTP协议的
  
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值