|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
网上也有一些文章但是大多数涉及带有授权验证的proxy都有问题, 主要问题就是出在对 Authenticator.setDefault的使用,以及base64编码的问题上 代码是最没有二义性的文档,实现原理不再解释,请看代码去体会。 假如转载请注明代码出处。 chimae@cnjsp.org package org.chimae.net; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.Authenticator; import java.net.HttpURLConnection; import java.net.PasswordAuthentication; import java.net.URL; /** * @author chimae@cnjsp.org */ public class ProxyConnTest { public static void initProxy(String host, int port, final String username, final String password) { Authenticator.setDefault(new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, new String(password).toCharArray()); } }); System.setProperty("http.proxyType", "4"); System.setProperty("http.proxyPort", Integer.toString(port)); System.setProperty("http.proxyHost", host); System.setProperty("http.proxySet", "true"); } public static void main(String[] args) throws IOException { String url = "http://java.sun.com/"; String proxy = "yourProxy"; int port =8080; String username ="username"; String password ="password"; String curLine = ""; String content = ""; URL server = new URL(url); initProxy(proxy,port,username,password); HttpURLConnection connection = (HttpURLConnection)server.openConnection(); connection.connect(); InputStream is = connection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); while ((curLine = reader.readLine()) != null) { content += curLine; } System.out.println("content= " + content); is.close(); } } 返回类别: 教程 上一教程: Java新手常犯的几种错误 下一教程: Eclipse+Tomcat集成开发servlet 您可以阅读与"java程序如何穿透带有密码验证的代理"相关的教程: · 学习如何使 JAVA 应用程序启动更快以及占用更少的内存 · java自己做个每小时自动更新的代理服务器(proxy)列表 · 如何有效的保护JAVA程序 · 在JSP程序如何解决读取或向DB写入数据时的乱码问题 · 在JAVA应用程序中如何实现FTP的功能 (转) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |