让URLConnection使用代理服务器

简介: JDK的文档对使用代理服务器的介绍很少,据说JDK5.0好象增加了这方面的内容。其实要使用代理服务器很简单,只要在URL.openConnection()之前增加下面的代码即可: Properties prop = System.getProperties(); prop.put("http.proxyHost", getProxyHost()); prop.put("http.proxyPort", "" + getProxyPort()); 也就是给系统变量里增加了两个项,在执行程序时加上参数“-Dhttp.proxyHost=xxx”的效果也是一样的。

JDK的文档对使用代理服务器的介绍很少,据说JDK5.0好象增加了这方面的内容。其实要使用代理服务器很简单,只要在URL.openConnection()之前增加下面的代码即可:

Properties prop = System.getProperties(); 
prop.put("http.proxyHost", getProxyHost()); 
prop.put("http.proxyPort", "" + getProxyPort());

也就是给系统变量里增加了两个项,在执行程序时加上参数“-Dhttp.proxyHost=xxx”的效果也是一样的。

若代理服务器需要验证,则还要使用以下代码:

String authentication = getProxyUser() + ":" + getProxyPassword(); 
String encodedLogin = new sun.misc.BASE64Encoder().encodeBuffer(authentication.getBytes()); 
connection.setRequestProperty("Proxy-Authorization", "Basic " + encodedLogin);

也就是在Http头上增加了Proxy-Authorization信息。

更多属性:http://java.sun.com/j2se/1.4.2/docs/guide/net/properties.html

本文转自博客园八进制的博客,原文链接:让URLConnection使用代理服务器,如需转载请自行联系原博主。

相关文章
|
12月前
|
安全 网络协议 网络安全
http https socket通讯详解?
http https socket通讯详解?
HttpURLConnection重定向,获取及设置cookie
HttpURLConnection获取重定向地址和cookie的代码如下: public void first() throws Exception{ Map paramsHashMap = new HashMap(); paramsHashMap.
2256 0
|
4月前
|
前端开发 Java API
Android端通过HttpURLConnection上传文件到服务器
Android端通过HttpURLConnection上传文件到服务器
45 0
|
5月前
|
网络协议 安全 网络安全
Socks VS HTTP 谁才是最快的代理协议
Socks VS HTTP 谁才是最快的代理协议
325 5
|
5月前
|
网络安全 C#
C# HttpWebRequest 获取 HTTPS 网页内容
C# HttpWebRequest 获取 HTTPS 网页内容
402 0
|
5月前
|
安全 数据安全/隐私保护
深入解析:HTTP和HTTPS的三次握手与四次挥手
在这些握手和挥手过程中,双方交换信息,协商参数,建立或关闭连接,以保证数据的可靠传输。HTTPS在此基础上加入了数字证书验证和加密通信,增加了安全性。这些步骤确保了HTTP和HTTPS协议的通信过程的稳定和安全。
285 0
|
存储 JSON Java
HttpURLConnection发送中文乱码问题解决
HttpURLConnection发送中文乱码问题解决
288 0
|
网络安全
HttpClient_02_实现https协议
        二、参考文档 1.Java 和 HTTP 的那些事(四) HTTPS 和 证书 1. 轻松把玩HttpClient之配置ssl,采用设置信任自签名证书实现https 2.
1055 0