在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

相关推荐

  • synchronized 的4种用法

    概述: synchronized 关键字,代表这个方法加锁,相当于不管哪一个线程A每次运行到这个方法时,都要检查有没有其它正在用这个方法的线程B(或者C D等),有的话要等正在使用这个方法的线程B(或者C D)运行完这个方法…

    闲话杂谈 2011 年 08 月 23 日
  • 日语,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 日
  • svn在eclipse中报错:Attempted to lock an already-locked dir

    报错信息如下:Problems encountered while deleting resources.  org.tigris.subversion.javahl.ClientException: Attempted to lock an  already-locked …

    闲话杂谈 2012 年 10 月 22 日
  • 项目维护时,使用jacob出现的一些问题

    以下是经过搜索,总结网友的一些总结,目前我遇到的问题还没有解决~~ 等重启服务器再试试~   1、如果出现下面的错误 com.jacob.com.ComFailException: A COM exception has been encountered: At Invoke of: V…

    闲话杂谈 2011 年 09 月 16 日
  • 解决servlet返回jsp中文乱码

    servlet返回中文到jsp页面,出现乱码 解决方式: 声明编码在先,out在后 response.setContentType("text/html;charset=gbk"); PrintWriter out = response.getWriter();   转载请注明出处: http://www.laoz.n…

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

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

    闲话杂谈 2011 年 09 月 23 日
  • 杂谈,老钟这些日子都在做啥子了?为什么一直都没有更新

    很长一段时间没有更新博客了,所以呀,坚持是一件非常艰难的事情。 对于能坚持一直做好一件事情的人,想不成功都难呀,表示敬仰呀! 虽然我博客没有更新,但是我的事业还是依然坚持着,平时工作的时间太长了,都没…

    闲话杂谈 2015 年 09 月 16 日
  • 匹配邮箱的工具类

    参考做了一个匹配邮箱的工具类,方便以后使用: package com.util; import java.util.List; import java.util.Map; /** * 通过正则匹配全文邮箱 * * @author Stany 2011-08-05 */ public class EmailUtil { /** * …

    闲话杂谈 2011 年 08 月 05 日
  • 多想一点,多做一点[转]

    1 先来看个例子: ‍‍。。。 2 再举个例子: 不知道男同学们有没有帮女同学在自动售货机买过饮料,买完以后顺手递给她,这一切都很自然。 那么你会不会在递给她之前,顺手帮她把瓶子盖拧开? 顺手把某个人的Hi发给对…

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

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

    闲话杂谈 2011 年 08 月 16 日