- 浏览: 178761 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
为什么昵称都叫没了:
对的,我也在做微信公众平台的开发,发现一个简单的教程 http ...
微信公众平台API -
guji528:
想找一个好一点的调试器,不知eric是否OK,有空再研究一下
Eric IDE安装 -
youyang:
受教了,不得不顶。
NoSQL非关系数据库简介 -
zhongzhai:
谢谢分享,波一个
Java中的UDP协议编程 -
huwenbiao2010:
有实现JPopupMenu透明的案例不,发个给我 ,谢谢了 , ...
一道笔试题
1 、 java 通过 System.getProperties() 获取系统参数
Properties props=System.getProperties(); //
系统属性
System.out.println("Java
的运行环境版本:
"+props.getProperty("java.version"));
System.out.println("Java
的运行环境供应商:
"+props.getProperty("java.vendor"));
System.out.println("Java
供应商的
URL
:
"+props.getProperty("java.vendor.url"));
System.out.println("Java
的安装路径:
"+props.getProperty("java.home"));
System.out.println("Java
的虚拟机规范版本:
"+props.getProperty("java.vm.specification.version"));
System.out.println("Java
的虚拟机规范供应商:
"+props.getProperty("java.vm.specification.vendor"));
System.out.println("Java
的虚拟机规范名称:
"+props.getProperty("java.vm.specification.name"));
System.out.println("Java
的虚拟机实现版本:
"+props.getProperty("java.vm.version"));
System.out.println("Java
的虚拟机实现供应商:
"+props.getProperty("java.vm.vendor"));
System.out.println("Java
的虚拟机实现名称:
"+props.getProperty("java.vm.name"));
System.out.println("Java
运行时环境规范版本:
"+props.getProperty("java.specification.version"));
System.out.println("Java
运行时环境规范供应商:
"+props.getProperty("java.specification.vender"));
System.out.println("Java
运行时环境规范名称:
"+props.getProperty("java.specification.name"));
System.out.println("Java
的类格式版本号:
"+props.getProperty("java.class.version"));
System.out.println("Java
的类路径:
"+props.getProperty("java.class.path"));
System.out.println("
加载库时搜索的路径列表:
"+props.getProperty("java.library.path"));
System.out.println("
默认的临时文件路径:
"+props.getProperty("java.io.tmpdir"));
System.out.println("
一个或多个扩展目录的路径:
"+props.getProperty("java.ext.dirs"));
System.out.println("
操作系统的名称:
"+props.getProperty("os.name"));
System.out.println("
操作系统的构架:
"+props.getProperty("os.arch"));
System.out.println("
操作系统的版本:
"+props.getProperty("os.version"));
System.out.println("
文件分隔符:
"+props.getProperty("file.separator")); //
在
unix
系统中是"/"
System.out.println("
路径分隔符:
"+props.getProperty("path.separator")); //
在
unix
系统中是"
:
"
System.out.println("
行分隔符:
"+props.getProperty("line.separator")); //
在
unix
系统中是"
/n
"
System.out.println("
用户的账户名称:
"+props.getProperty("user.name"));
System.out.println("
用户的主目录:
"+props.getProperty("user.home"));
System.out.println("
用户的当前工作目录:
"+props.getProperty("user.dir"));
2 、 用 Java 编写通过代理访问的应用程序
本技巧将向您讲述如何编写可通过代理访问因特网上的 Web 服务器的 Java 应用程序。在 Java 应用程序中加入代理支持只需额外编写几行代码,且不依赖任何安全性 “ 漏洞 ” 。
将
Java
和代理结合起来的秘诀即在
Java
运行时激活特定的系统属性。这些属性未被写入正式文件,只是作为
Java
传说的一部分在
Java
编程人员中秘传。为了支持代理,
Java
应用程序不仅需要指定代理本身的信息,而且需要指定用于认证的用户信息。在开始使用网际协议之前,您需要在程序中添加以下几行代码:
//
通知
Java
您要通过代理进行连接
System.getProperties().put("proxySet","true");
//
指定代理所在的
服务器
System.getProperties().put("proxyHost","myProxyMachineName");
//
指定代理监听的端口
System.getProperties().put("proxyPort","85");
有些代理在授权用户访问因特网之前,要求用户输入用户名和口令。如果您使用位于防火墙之内的
Web
浏览器,您就可能碰到过这种情况。以下是执行认证的方法:
URLConnection
connection=url.openConnection();
String
password="username:password";
String
encodedPassword=base64Encode(password);
connection.setRequestProperty("Proxy-Authorization",encodedPassword);
这段代码的思想是,您必须调整
HTTP
标头以发出用户信息。这是通过调用
setRequestProperty()
来实现的。这种方法允许您在发出请求之前处理
HTTP
标头。
HTTP
要求用
base64
对用户名和口令进行编码。幸运的是,有一组公用域
API
,它们将代您执行编码(请参阅参考资源部分)。
如您所见,在
Java
应用程序中加入代理支持并不需要做多少工作。有了现在的知识,再做一点研究(您必须查明您的代理是如何处理您感兴趣的协议以及如何进行用户认证的),您就能用其他协议实现代理。
HTTP
代理:(例子)
Properties props = System.getProperties ();
props.put( "http.proxyHost" , "192.168.0.150" );
props.put(
"http.proxyPort"
,
"808"
);
FTP
代理
ScottD.Taylor
提出这个秘诀来处理
FTP
协议代理:
defaultProperties.put("ftpProxySet","true");
defaultProperties.put("ftpProxyHost","proxy-host-name");
defaultProperties.put("ftpProxyPort","85");
接下来您便可以通过以下代码使用
"ftp"
协议访问文件
URL
:
URL
url=newURL("ftp://ftp.netscape.com/pub/navigator/3.04/windows/readme.txt");
如果有人有使用其他网际协议代理的例子,我很想看看。
注意:代码示例
(Example.java)
仅在
JDK1.1.4
下测试过。
后续技巧!
对于仍在使用
JDK1.1.7
(配合
WebSphere3.0
)的开发人员而言,将
proxyHost
和
proxyPort
设为系统属性不起作用;
conn.getInputStream()
或者返回连接超时,或者是找不到主机路径。但是,我使用接受
Host
和
Port
为参数的
URL
构造函数解决了这一问题(使用我的代理主机和端口):
public
URL(String
protocol,String
host,int
port,String
file).
借助用户名和口令进行认证的方法不起作用。应将
"Basic"
置于认证字符串的开头;例如:
String
encodedPassword=base64Encode(password);
应该是:
String
encodedPassword="Basic"+base64Encode(password);
您也不必用一个单独的程序来进行
64
位编码。您可以使用
sun.misc.BASE64Encoder()
类。下面是完成这两处改动之后的代码:
System.getProperties().put("proxySet","true");
System.getProperties().put("proxyHost",proxyHost);
System.getProperties().put("proxyPort",proxyPort);
String
authString="userid:password";
String
auth="Basic"+newsun.misc.BASE64Encoder().encode(authString.getBytes());
URL
url=newURL("http://java.sun.com/");
URLConnection
conn=url.openConnection();
conn.setRequestProperty("Proxy-Authorization",auth);
下面是使用
socks4
代理服务器的方法:
System.getProperty("socksProxySet",true);
System.getProperty("socksProxyHost",proxyHostName);
System.getProperty("socksProxyPort",proxyPort);
Usually
the
proxyPort
for
Socks
4
is
port
1080
发表评论
-
UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
2013-04-26 22:32 816继承 指的是一个类(称为子类、子接口)继承另外的一个类( ... -
数据库链接池(DBCP)配置参考
2012-01-31 17:20 921链接池不但能提高数据库的访问效率,也能有效地控制自 ... -
设置半透明的JMenuBar
2011-01-17 17:33 3058源作:陈思羽. 更新:龚德伟. 2008.07.20 ... -
使用svn——项目的目录布局
2011-01-07 21:12 767Subversion有一个很标准的目录结构,是这样的。 比如 ... -
Socket TCP连接和断开过程
2010-11-03 09:22 2278在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握 ... -
几个重要的TCP/IP选项解析(Java Socket)
2010-10-28 13:22 10421. SO_LINGER / SO_REUSEADDR ... -
java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结
2010-10-25 13:41 939常见配置举例 堆大 ... -
jstat,jmap,jconsole,jvisualvm,jps,jinfo等JDK系统监控、性能调优工具
2010-10-11 13:57 760JProfiler在java程序性能调试方便表现优越,推荐使用 ... -
一道笔试题
2010-09-28 23:05 943问题说明 : 计算一个整形数组里的连续元素和的最大值 ... -
一个题目:超大量数据的排序
2010-09-22 03:40 1773一个文件里,有一堆int,把它们排序一下,输出到另外一个文 ... -
各种系统架构图及其简介
2010-03-01 11:35 2396转载请保留出处 , 不胜人生 一场醉汇总。 ... -
Java抓图软件
2010-01-19 09:52 981以下代码不是本人所写,乃是从网上搜到,记录下来供以后参考。 ... -
16进制字符串与byte数组互转(转载)
2010-01-13 21:07 1935import java.io.ByteArrayInp ... -
byte,int,char,double的相互转换(java)
2010-01-13 21:05 2667//整数到字节数组的转换 public stat ... -
Java中的UDP协议编程
2009-11-18 14:34 1845一. UDP协议定义 UDP协议的全称是用户数据报 ... -
System.getProperty()参数大全
2009-07-26 22:22 838java.version Ja ... -
JAVA打包后读取自身JAR中的文件
2009-07-26 21:48 5650在编写完Java程序后,打包成Jar时发布,会发现找不到Jar ... -
log4j 日志文件相对路径
2009-07-26 21:32 12621、在Tomcat 5.5中的Log4j ... -
windows下openldap的安装与java操作测试
2009-07-01 15:36 879windows下openldap的安装与 ... -
用Ant编译、junit测试、生成测试报告、最终自动发mail
2009-03-19 14:15 1500测试通过的版本如下:Eclipse:3.3.2jdk:1.6j ...
相关推荐
Java中通过System.getProperties()获取系统参数测试
利用matlab发送定制的信息邮件,以便在跑大量数据时,可以通过提醒! function Sendmail Answer = 1; %判断条件 if Answer>0.5 ... % ①邮箱地址 ... props = java.lang.System.getProperties; *****
修改mail源码 支持socks... System.getProperties().setProperty("netease.mail.socks.proxy.url", "代理服务器url"); System.getProperties().setProperty("netease.mail.socks.proxy.port", "代理服务器端口"); }
HI,all 现发布rapid-generator的...System.getProperties() : 直接引用,没有前缀 generator.properties 文件中的所有属性,直接引用,没有前缀 gg : 模板控制变量, cn.org.rapid_framework.generator.GeneratorControl
System.getProperties() : 直接引用,没有前缀 generator.properties 文件中的所有属性,直接引用,没有前缀 gg : 模板控制变量, cn.org.rapid_framework.generator.GeneratorControl 四.每个模板有gg变量可以...
Properties sysProps = System.getProperties(); SysProps.put("user","userid"); SysProps.put("password","user_password"); Connection conn= DriverManager.getConnection(url, SysProps); ...
1、命令行参数 2、来自java:comp/env的JNDI属性 3、Java系统属性(System.getProperties()) 4、操作系统环境变量 5
String osname = System.getProperties().getProperty("os.name"); if (osname.equals("Linux")) {//判断系统的环境win or Linux System.setProperty("phantomjs.binary.path", "/usr/bin/phantomjs"); } ...
Properties props = System.getProperties(); { props.put("mail.smtp.host", this.host); props.put("mail.smtp.auth", "true"); } ValidateAuther auther = new ValidateAuther(this.sender, ...
//Properties p = System.getProperties(); p.put("mail.smtp.auth", "true"); p.put("mail.transport.protocol", "smtp"); p.put("mail.smtp.host", "smtp.163.com"); p.put("mail.smtp.port", "25"); /...
System.getProperties() : 直接引用,没有前缀 generator.properties 文件中的所有属性,直接引用,没有前缀 gg : 模板控制变量, cn.org.rapid_framework.generator.GeneratorControl 四.每个模板有gg变量可以...
} /** * 设置SMTP的身份认证 */ public void setNeedAuth(boolean need) { if (props == null) props = System.getProperties(); if (need) props.put("mail.smtp.auth", "true"); else props.put("mail.smtp.auth...
Fundamentals of the JavaMail API Presented by developerWorks, your source for great tutorials ... Table of Contents If you're viewing this document online, you can click any of the topics below ...
java.util.Properties prop = System.getProperties(); String javaVersion=prop.getProperty("java.version"); String FS=prop.getProperty("file.separator"); int CPUTIME = 30; int PERCENT = 100; public ...
Properties sysProps = System.getProperties(); SysProps.put("user","userid"); SysProps.put("password","user_password"); Connection conn= DriverManager.getConnection(url, SysProps); 5、Informix...
Properties props = System.getProperties(); props.put("mail.smtp.host", smtpHost); Session session = Session.getDefaultInstance(props, null ); MimeMessage message = new MimeMessage( session...
获取用户输入的信息 对于用户输入内容获取功能是通过getParameter方法来实现的,对于输入的文本内容...Session session2=Session.getInstance(System.getProperties() ,null);Store store=session2.getStore("pop3");
Properties props = System.getProperties(); { props.put("mail.smtp.host",this.host); props.put("mail.smtp.auth","true"); } ValidateAuther auther = new ValidateAuther(this.sender,password)...
java.util.Properties props = System.getProperties(); props.put("mail.host", mailserver); props.put("mail.transport.protocol", "smtp"); props.put("mail.smtp.auth", "true");//指定是否需要SMTP验证 ...