import java.io.IOException; import java.io.InputStream; import java.net.InetSocketAddress; import java.net.MalformedURLException; import java.net.Proxy; import java.net.ProxySelector; import java.net.SocketAddress; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Properties; public class NetProxy { // 测试本地JVM的网络缺省配置 public void setLocalProxy() { Properties prop = System.getProperties(); //设置http访问要使用的代理服务器的地址 prop.setProperty("http.proxyHost", "10.10.0.96"); //设置http访问要使用的代理服务器的端口 prop.setProperty("http.proxyPort", "8080"); //设置不需要通过代理服务器访问的主机,可以使用*通配符,多个地址用|分隔 prop.setProperty("http.nonProxyHosts", "localhost|10.10.*"); //设置安全访问使用的代理服务器地址与端口 //它没有https.nonProxyHosts属性,它按照http.nonProxyHosts 中设置的规则访问 prop.setProperty("https.proxyHost", "10.10.0.96"); prop.setProperty("https.proxyPort", "443"); //使用ftp代理服务器的主机、端口以及不需要使用ftp代理服务器的主机 prop.setProperty("ftp.proxyHost", "10.10.0.96"); prop.setProperty("ftp.proxyPort", "2121"); prop.setProperty("ftp.nonProxyHosts", "localhost|10.10.*"); //socks代理服务器的地址与端口 prop.setProperty("socksProxyHost", "10.10.0.96"); prop.setProperty("socksProxyPort", "1080"); } // 清除proxy设置 public void removeLocalProxy() { Properties prop = System.getProperties(); prop.remove("http.proxyHost"); prop.remove("http.proxyPort"); prop.remove("http.nonProxyHosts"); prop.remove("https.proxyHost"); prop.remove("https.proxyPort"); prop.remove("ftp.proxyHost"); prop.remove("ftp.proxyPort"); prop.remove("ftp.nonProxyHosts"); prop.remove("socksProxyHost"); prop.remove("socksProxyPort"); } // // 测试http public void showHttpProxy(Object... proxy) { URL url = null; try { url = new URL("http://blog.csdn.com/smallnest"); } catch (MalformedURLException e) { return; } try { URLConnection conn = null; switch (proxy.length) { case 0: conn = url.openConnection(); break; case 1: conn = url.openConnection((Proxy) proxy[0]); break; default: break; } if (conn == null) return; conn.setConnectTimeout(3000); // 设置连接超时时间 InputStream in = conn.getInputStream(); byte[] b = new byte[1024]; try { while (in.read(b) > 0) { System.out.println(new String(b)); } } catch (IOException e1) { } } catch (IOException e1) { e1.printStackTrace(); } } // 测试ftp public void showFtpProxy(Object... proxy) { URL url = null; try { url = new URL("ftp://ftp.tsinghua.edu.cn"); } catch (MalformedURLException e) { return; } try { URLConnection conn = null; switch (proxy.length) { case 0: conn = url.openConnection(); break; case 1: conn = url.openConnection((Proxy) proxy[0]); break; default: break; } if (conn == null) return; conn.setConnectTimeout(3000); // 设置连接超时时间 InputStream in = conn.getInputStream(); byte[] b = new byte[1024]; try { while (in.read(b) > 0) { System.out.println(new String(b)); } } catch (IOException e1) { } } catch (IOException e1) { e1.printStackTrace(); } } // 得到一个proxy public Proxy getProxy(Proxy.Type type, String host, int port) { SocketAddress addr = new InetSocketAddress(host,port); Proxy typeProxy = new Proxy(type, addr); return typeProxy; } public static void main(String[] args) { NetProxy proxy = new NetProxy(); //测试代理服务器 proxy.setLocalProxy(); proxy.showHttpProxy(); //下面两行是清除系统属性,而通过Proxy类指定代理服务器 // proxy.removeLocalProxy //proxy.showHttpProxy(proxy.getProxy(Proxy.Type.SOCKS,"10.10.0.96",1080)); } }
相关推荐
HTTP代理 C# 网页代理 web代理
HTTP代理IP检测高达,哇咔咔。安全无毒。
HTTP代理服务器java 简单网站过滤
HTTP代理穿透方法
http代理源代码http代理http代理http代理http代理http代理
(1)设计并实现一个基本HTTP代理服务器。要求在指定端口(例如8080)接收来自客户的HTTP请求并且根据其中的URL地址访问该地址所指向的HTTP服务器(原服务器),接收HTTP服务器的响应报文,并将响应报文转发给对应的...
因安全等原因没能开通跟公网的连接,但项目又需要访问互联网上的接口资源,只能通过内网中可以跟公网连接的一台服务器作为代理跳转请求公网资源,觉得其他代理插件麻烦就自己写了一个SocketHttp代理,简单、方便使用...
用C语言实现的http代理服务器,可自己更改进行网站引导,网站屏蔽,用户屏蔽
http代理服务器的实现(程序).rar
自己做的HTTP代理 支持HTTPS代理,QQ代理,亲测可用,并且经过很长时间的真机测试,每一行代码都是自己敲的
实例http代理。有客户端和服务器端。Soket实现
Java编写的HTTP代理,可以通过代理访问
实现了一个功能简单的HTTP代理服务器,主要介绍多线程编程相关的知识,包括初始化临界段和删除临界段,使用临界段完成多个线程对临界资源的互斥访问,创建工作线程,退出工作线程,定义和设定事件,利用事件完成多个...
HTTP 代理服务器在 Windows下的实现
以前上TCP/IP课程时做的课程设计,很小的一个HTTP代理服务器,基于socket编程。VC6.0环境的。原创程序。 那时候还是新手,程序很简陋,不过好歹能用。 学校学习相关课程的学生可以参考下,当个课程作业没问题,老手...
采用c#实现的代理服务器技术,绝对的通俗易懂,而且可以作为很好的学习案例进行分析。特别是和http协议打交道比较多的c#.net程序员可千万别错过哦!只要能够学到东西,积分都是浮云
Visual C#实现HTTP代理服务程序的简单介绍和创建细节过程,初学者认真看看可以模仿制作,入门比较快。
商道HTTP代理IP验证工具是一款批量验证代理IP是否可用的软件。软件采用多线程操作,速度快,非常好用,验证代理IP非它莫属
http代理服务器delphi源代码,学习网络服务端的好例子
一个简单的http代理服务器。 支持http 和https c/c++源码。 代码易阅读和修改。供参考 经过测试,基本没有问题。