在URLHttpConnection中使用代理服务器

原文出处: 在URLHttpConnection中使用代理服务器
作者: Jet Mah from Java堂

在JDK5之前如果在URLHttpConnection中使用代理服务器的话,只要在URL.openConnection()之前加入以下代码就可以:

Properties prop = System.getProperties();
prop.put("http.proxyHost", "120.0.0.1");
prop.put("http.proxyPort", "1080");

意思就是加入几个环境变量,然后URLHttpConnection在执行的时候会读取这些环境变量。

不过JDK5中URL增加了一个新的方法 openConnection(Proxy proxy),这样就可以直接设置代理地址了,代码如下:

// 请自行加上try...cache代码
URL url = new URL("http://www.javatang.com");
// 设置代理服务
SocketAddress add = new InetSocketAddress("120.0.0.1", "1080");
Proxy p = new Proxy(Proxy.Type.SOCKS , add);
// 打开连接
HttpURLConnection conn = (HttpURLConnection)url.openConnection(p);

这样打开的连接就是使用代理服务器了,非常的方便。

如果代理服务器有用户名密码的话,操作跟JDK5之前的操作相同。在上面的代理后面增加如下代码:

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

 

版权所有,作者:老钟,如若转载,请注明出处:https://www.laoz.net/107.html

(0)
老钟
上一篇 2011 年 08 月 24 日 下午 2:45
下一篇 2011 年 08 月 26 日 下午 2:57

相关推荐

  • HashMap与ConcurrentHashMap性能对比

    目的是测试HashMap与ConcurrentHashMap性能 package com.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.concurrent.Concurren…

    闲话杂谈 2011 年 08 月 30 日
  • java编程中提升性能的一些方法【转】

    最近的机器内存又爆满了,出了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源和总结一些在java编程中…

    闲话杂谈 2011 年 08 月 16 日
  • Java 中 finally 语句块的深度辨析【转】

    可不能小看这个简单的 finally,看似简单的问题背后,却隐藏了无数的玄机。接下来我就带您一步一步的揭开这个 finally 的神秘面纱。 问题分析 首先来问大家一个问题:finally 语句块一定会执行吗? 很多人都认为 fi…

    闲话杂谈 2011 年 08 月 16 日
  • Eclipse启动失败,JVM terminated.Exit code=1

    Eclipse启动失败,JVM terminated.Exit code=1解决办法:把eclipse文件夹下的eclipse.ini先copy到别的地方(备份一下),然后删除之,启动一下eclipse

    闲话杂谈 2012 年 05 月 09 日
  • 日语,50音

    偶尔一个机会,需要整理一下日语50音(中文应该是音标)   あ(a) い(i) う(u) え(e) お(o) か(ka) き(ki) く(ku) け(ke) こ(ko) さ(sa) し(shi) す(su) せ(se) そ(so) た(ta) ち(chi) つ(tsu) て(te) と(to) …

    闲话杂谈 2012 年 03 月 01 日
  • [转]分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里

    分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里。 由于公司要求读取项目下所有jsp文件,并读取开头的自定义的注释来生成类似javadoc的东西进行页面管理。 而读取jsp源…

    闲话杂谈 2011 年 11 月 22 日
  • 判断商标相同或近似的标准

    上如何界定相同或类似商品、服务之后,有必要对相同商标、近似商标的概念再进行界定,之后才有利于认定商标是否相同或近似。 1.相同商标 相同商标是指构成商标的要素完全相同,商标在整体上不存在差别或者只存在细…

    闲话杂谈 2014 年 05 月 23 日
  • HashMap与ConcurrentHashMap性能测试

    http://blog.csdn.net/liuzhengkang/article/details/2916829 http://blog.sina.com.cn/s/blog_605f5b4f0100qsio.html http://hi.baidu.com/fallen9/blog/item/690e963d56471209bba1670a.html http://www.xue5.com/…

    闲话杂谈 2011 年 08 月 30 日
  • java 日期与毫秒转换,计算指定日期后N天

    最近写一些工具类中,遇到一些日期转换的问题,特意把方法分享,其还有很大的改进空间 /** * 把毫秒转化为日期<br/> * 转化后格式为 yyyy-MM-dd HH:mm:ss * * @param ms * @return 日期字符串 */ public stat…

    闲话杂谈 2011 年 09 月 23 日
  • java 日期与毫秒相互转化

    因需要,所以写了个日期转化成毫秒,把毫秒转化成日期的类 import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; /** * 测试时间 * 把毫秒转换成 yyyy-MM-dd HH:mm:ss * @auth…

    闲话杂谈 2011 年 08 月 22 日