Java中如何为HTTP请求设置代理?

代理服务器作为网关隔离用户与互联网,提供安全防护、网络性能优化,如缓存数据、充当防火墙。Java可以通过命令行选项或System.setProperty方法设置代理,包括http.proxyHost、http.proxyPort等属性,同时可以指定非代理主机列表。
摘要由CSDN通过智能技术生成

一.什么是代理服务器

代理服务器充当你和Internet之间的网关,就像一个中间人。它实际上是一个中间服务器,可以将用户与它们游览的网站区分开。

如果你使用了代理服务器,那么网络流量会通过代理服务器流向你请求的地址。然后该请求通过同一台代理服务器返回,然后代理服务器将从网站接收到的数据转发给你。

当然如果仅仅是这样,也没什么必要使用代理服务器,我们直接访问网站岂不更美?

现在代理服务器的功能远不只是转发Web请求,而这一切都是为了保证数据安全和网络性能。代理服务器充当防火墙和Web筛选器,提供共享的网络连接,并缓存数据以加快常见请求的速度。
而且还可以保护用户和内部网络以免收到外部Internet的不良影响。

二.Java如何使用代理服务器

java 有两种方式可以设置代理服务器

1.如何设置

1.通过命令行选项进行设置

java -Dhttp.proxyHost=webcache.example.com 
-Dhttp.proxyPort=8080 
-Dhttp.nonProxyHosts="localhost|host.example.com" 
test.jar 

所有http连接都将通过webcache.example.com上的代理服务器在端口8080上监听(如果不指定端口默认是80),此外,连接到localhost或host.example.com时将不使用代理。
2.通过System.setProperty(String,String)方法

// 设置代理
System.setProperty("http.proxyHost", "webcache.example.com");
System.setProperty("http.proxyPort", "8080");
// 下一个连接将会使用代理
URL url = new URL("http://java.example.org/");
InputStream in = url.openStream();
// 清除代理
System.clearProperty("http.proxyHost");

// 从现在开始,http连接将直接完成而不再使用代理

2.参数说明

1.http.proxyHost : 代理服务器主机名

2.http.proxyPort : 端口号,默认是80

3.https.proxyHost : https代理服务器主机名

4.https.proxyPort: 代理端口号,默认是443

5.http.nonProxyHosts : 指定绕过代理的主机列表,使用 | 分割的模式列表,可以以通配符 * 开头或者结尾,任何匹配这些模式之一的主机都将通过直接连接而不是通过代理访问。该设置对http,https通用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值