[JAVA实时荧幕监控]Java使用代理服务器
[JAVA实时屏幕监控]Java使用代理服务器
不是.60行这是以C/S方式联接网络,与使用代理并没有直接关系.
这里使用代理的意思是,通过代理上网.
在一台没有联网的电脑环境中,程序可以通过先设置远方代理服务器的方式来连接网络,就好像IE这个程序通过在Internet选项中设置代理服务器IP地址及端口号来访问互联网一个道理.
不知道我有没有讲明白.好像很难讲.
不是.60行这是以C/S方式联接网络,与使用代理并没有直接关系.
这里使用代理的意思是,通过代理上网.
在一台没有联网的电脑环境中,程序可以通过先设置远方代理服务器的方式来连接网络,就好像IE这个程序通过在Internet选项中设置代理服务器IP地址及端口号来访问互联网一个道理.
不知道我有没有讲明白.好像很难讲.
是不可以这样理解,这里有三个层次,最高就是testProxy()这个函数的应用程序,下一层是initProxy()函数初始化的jvm环境下的联网的设置。这个jvm环境下再去找代理联网,这个为第三层,采用代理与外界通信,也即是通过代理去向服务器提交请求并把结果返回来。
不是.60行这是以C/S方式联接网络,与使用代理并没有直接关系.
这里使用代理的意思是,通过代理上网.
在一台没有联网的电脑环境中,程序可以通过先设置远方代理服务器的方式来连接网络,就好像IE这个程序通过在Internet选项中设置代理服务器IP地址及端口号来访问互联网一个道理.
不知道我有没有讲明白.好像很难讲.
是不可以这样理解,这里有三个层次,最高就是testProxy()这个函数的应用程序,下一层是initProxy()函数初始化的jvm环境下的联网的设置。这个jvm环境下再去找代理联网,这个为第三层,采用代理与外界通信,也即是通过代理去向服务器提交请求并把结果返回来。
你可以这样去理解,一般这里没有必要牵扯到JVM.
/** * Copyright (c) 2012 Trusted Software and Mobile Computing(TSMC) * All right reserved. * * Created on Apr 24, 2012 12:42:24 PM * http://jarg.iteye.com/ * Author: Jarg Yee <yeshaoting@gmail.com> */ package com.iteye.jarg.monitor.test; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import java.util.Properties; /** * TODO 使用代理服务器工具类 */ public class ProxyUtil { /** 代理服务器IP地址 e.g. 10.10.0.96 */ private static final String IP = "10.10.0.96"; /** 初始化代理 */ public static void initProxy() { Properties prop = System.getProperties(); // 设置http访问要使用的代理服务器的地址 prop.setProperty("http.proxyHost", IP); // 设置http访问要使用的代理服务器的端口 prop.setProperty("http.proxyPort", "808"); // 设置不需要通过代理服务器访问的主机,可以使用*通配符,多个地址用|分隔 prop.setProperty("http.nonProxyHosts", "localhost|10.10.*"); // 设置安全访问使用的代理服务器地址与端口 // 它没有https.nonProxyHosts属性,它按照http.nonProxyHosts 中设置的规则访问 prop.setProperty("https.proxyHost", IP); prop.setProperty("https.proxyPort", "443"); // 使用ftp代理服务器的主机、端口以及不需要使用ftp代理服务器的主机 prop.setProperty("ftp.proxyHost", IP); prop.setProperty("ftp.proxyPort", "2121"); prop.setProperty("ftp.nonProxyHosts", "localhost|10.10.*"); // socks代理服务器的地址与端口 prop.setProperty("socksProxyHost", IP); prop.setProperty("socksProxyPort", "1080"); } /** * 使用代理 * */ private static void testProxy() throws IOException { /** 使用代理连接网络 */ URL url = new URL("http://www.baidu.com/"); URLConnection conn = url.openConnection(); conn.setConnectTimeout(3000); InputStream in = conn.getInputStream(); BufferedInputStream bin = new BufferedInputStream(in); byte[] buf = new byte[1024]; // 缓存连网获得的数据 while(bin.read(buf) > 0) { System.out.print(new String(buf, "GBK")); } System.out.println(); } /** for debugging. * @throws IOException */ public static void main(String[] args) throws IOException { initProxy(); // 初始化代理 testProxy(); // 使用代理 } }
1 楼
美丽的小岛
2012-05-02
师兄呀,没有发现在哪里用了代理呀。是不是60行的URLConnection conn = url.openConnection();中的openConnection()方法用应该openConnection(Proxy proxy)这个方法呀?
2 楼
yeshaoting
2012-05-02
美丽的小岛 写道
师兄呀,没有发现在哪里用了代理呀。是不是60行的URLConnection conn = url.openConnection();中的openConnection()方法用应该openConnection(Proxy proxy)这个方法呀?
不是.60行这是以C/S方式联接网络,与使用代理并没有直接关系.
这里使用代理的意思是,通过代理上网.
在一台没有联网的电脑环境中,程序可以通过先设置远方代理服务器的方式来连接网络,就好像IE这个程序通过在Internet选项中设置代理服务器IP地址及端口号来访问互联网一个道理.
不知道我有没有讲明白.好像很难讲.
3 楼
美丽的小岛
2012-05-03
yeshaoting 写道
美丽的小岛 写道
师兄呀,没有发现在哪里用了代理呀。是不是60行的URLConnection conn = url.openConnection();中的openConnection()方法用应该openConnection(Proxy proxy)这个方法呀?
不是.60行这是以C/S方式联接网络,与使用代理并没有直接关系.
这里使用代理的意思是,通过代理上网.
在一台没有联网的电脑环境中,程序可以通过先设置远方代理服务器的方式来连接网络,就好像IE这个程序通过在Internet选项中设置代理服务器IP地址及端口号来访问互联网一个道理.
不知道我有没有讲明白.好像很难讲.
是不可以这样理解,这里有三个层次,最高就是testProxy()这个函数的应用程序,下一层是initProxy()函数初始化的jvm环境下的联网的设置。这个jvm环境下再去找代理联网,这个为第三层,采用代理与外界通信,也即是通过代理去向服务器提交请求并把结果返回来。
4 楼
yeshaoting
2012-05-03
美丽的小岛 写道
yeshaoting 写道
美丽的小岛 写道
师兄呀,没有发现在哪里用了代理呀。是不是60行的URLConnection conn = url.openConnection();中的openConnection()方法用应该openConnection(Proxy proxy)这个方法呀?
不是.60行这是以C/S方式联接网络,与使用代理并没有直接关系.
这里使用代理的意思是,通过代理上网.
在一台没有联网的电脑环境中,程序可以通过先设置远方代理服务器的方式来连接网络,就好像IE这个程序通过在Internet选项中设置代理服务器IP地址及端口号来访问互联网一个道理.
不知道我有没有讲明白.好像很难讲.
是不可以这样理解,这里有三个层次,最高就是testProxy()这个函数的应用程序,下一层是initProxy()函数初始化的jvm环境下的联网的设置。这个jvm环境下再去找代理联网,这个为第三层,采用代理与外界通信,也即是通过代理去向服务器提交请求并把结果返回来。
你可以这样去理解,一般这里没有必要牵扯到JVM.