网上也有一些文章但是大多数涉及带有授权验证的proxy都有问题,
主要问题就是出在对 Authenticator.setDefault的使用,以及base64编码的问题上
代码是最没有二义性的文档,实现原理不再解释,请看代码去体会。
如果转载请注明代码出处。
Java sample codes that access outer internet through proxy which require username and password .Use inner instead of extends is the most different
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(); }}
分享到:
相关推荐
本主题将深入探讨如何使用C#来调用带有身份验证的Java Web服务。Web服务作为一种基于标准的通信方式,允许不同语言和平台之间的应用程序共享数据和功能。在这个案例中,我们将重点关注C#与Java之间的交互,特别是...
Java 实现免费代理IP的获取方式 并动态实时校验是否有效,java文件项目内含有Jsoup的Jar包(Jsoup是加工过的,含请求),有2个主入口程序: 其一:用于请求代理IP,并立即校验是否是一个有效的代理IP,如果有效,...
基于 Java Netty实现的可用于内网穿透的代理工具.zip基于 Java Netty实现的可用于内网穿透的代理工具.zip基于 Java Netty实现的可用于内网穿透的代理工具.zip基于 Java Netty实现的可用于内网穿透的代理工具.zip基于...
HTTP代理服务器java 简单网站过滤
Google身份验证器是实现这种动态密码验证的一种工具,尤其在Java开发中被广泛应用。本篇将详细介绍如何使用Google身份验证器来实现动态密码验证的Java Demo。 1. **Google身份验证器简介** Google身份验证器是一个...
javamvc实现登录验证注册验证的小程序
在Java编程环境中,用户密码修改是一项常见的功能,尤其是在开发Web应用程序时,如使用JSP(Java Server Pages)处理用户界面。本主题将深入探讨如何在Java中实现用户密码的修改,以及与MySQL数据库的交互。 首先,...
本习题集收集了Java程序编写常见问题,并以习题形式总结和归纳Java程序设计知识要点,同时兼顾了SCJP(Sun公司 Java程序员认证考试),从而降低学习难度,减少编写程序出现错误的枘地,也便于掌握各个知识要点或测试...
Java解压RAR文件,压缩包内包含源码、Jar包、依赖包和示例程序,也可以从http://code.google.com/p/java-unrar/downloads/list这里下载支持密码的unrar项目(包括源码和jar包),其依赖包也很容易搜到。
在Java编程领域,Socket通信是一种基础且重要的网络编程技术,常用于实现客户端-服务器应用程序间的双向通信。在这个特定的场景中,我们利用Java Socket来实现一个登录验证系统,该系统会通过查询数据库来验证用户的...
综上所述,"javad登录小程序"涵盖了Java基础、密码安全、用户界面设计、数据库操作、输入验证、状态管理和错误处理等多个方面,是学习和实践Java Web开发的好例子。通过分析和重构这个小程序,开发者可以加深对Java...
本文将详细介绍如何使用Java为Word文档插入水印以及设置保护密码,以确保文档的安全性。 首先,我们需要一个能够操作Microsoft Office文件的Java库,这里推荐使用JACOB库。JACOB(JavaCOM Bridge)是一个Java到COM...
"一些比较有意思的Java小程序"这个标题暗示了我们将会探讨一系列趣味性强、易于理解的Java代码示例,这些示例通常适合Java初学者用来学习和实践编程概念。 在描述中提到的“不错的Java小程序”可能包括各种实用的小...
Java B/S 抽奖程序是一种基于Java技术构建的Web应用程序,专用于实现在线抽奖功能。在B/S(Browser/Server)架构下,用户通过浏览器即可参与抽奖活动,无需安装任何客户端软件,使得部署和使用变得极其便捷。这个...
程序首先验证旧密码是否正确,然后检查新密码是否满足规则(长度不少于6位、不允许全部字符相同),最后更新密码。 #### 五、程序测试与调试 - **单元测试**:对每个功能模块进行了单元测试,确保每个部分都能独立...
Java数字签名源程序是用于实现数据完整性、身份验证和非否认性的关键技术,它在网络安全中扮演着重要角色。本程序是使用JAVA编程语言编写的,遵循了计算机科学中关于密码学的基本原理。数字签名通常与公钥基础设施...
导入数据库通常涉及JDBC(Java Database Connectivity),需要建立数据库连接,编写SQL语句,使用`PreparedStatement`来执行带有参数的插入操作,并确保事务的正确管理,以保证数据的一致性。如果所有数据都成功导入...
在现代工业自动化领域,Java程序与PLC(可编程逻辑控制器)之间的通信是实现设备控制、数据采集和系统集成的关键技术。本资料包提供了一种详细的说明,旨在帮助你理解和实施这种通信方式。 首先,我们要了解Java...
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...
在这个案例中,我们有login.jsp、loginresult.jsp这样的JSP文件,它们可能包含表单元素(如用户名和密码输入框)以及用于处理用户提交的Servlet。 2. **Servlet**: Servlet是Java EE中的核心组件,用于处理HTTP...