JAVA如何设置代理server,s取消代理erver
2015-09-11 21:42
501 查看
1、一个简短的引论
代理server(ProxyServer)是一种重要的server安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用。
代理server大多被用来连接INTERNET(国际互联网)和INTRANET(局域网)。主要功能:就是代理网络用户去取得网络信息。形象的说,它是网络信息的中转站。本文主要介绍怎样使用java代码设置代理server。
主server为了防止被伪用户攻击,统一让用户通过代理server去訪问主server,这样做的安全性是显而易见的。一个图理解代理server及作用
2、使用
在JAVA中怎么设置代理server呢,很easypublic void setServiceProxy(Config config) { this.config = config; System.setProperty("http.proxyHost", config.getProxyHost()); System.setProperty("http.proxyPort", config.getProxyPort()); System.setProperty("https.proxyHost", config.getProxyHost()); System.setProperty("https.proxyPort", config.getProxyPort()); }
然后在每个HttpUrlConnection请求中,设置代理serverusername和password。并进行Base64加密(看你代理server的要求,可能因代理server不同而不同)。代码例如以下
private HttpURLConnection getProxyHttpConnection() throws IOException { String authorization = config.getProxyUser() + ":" + config.getProxyPassword(); URL url = new URL(config.getRequestUrl()); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestProperty("Proxy-Authorization", "Basic " + Base64.encodeBase64String(authorization.getBytes())); return conn; }
Base64加密工具。Apache的common包里就有。假设找不到就从这里下载http://commons.apache.org/proper/commons-codec/download_codec.cgi
假设你想取消代理server的设置,也很easy,代码例如以下
public void removeServiceProxy() { System.getProperties().remove("http.proxyHost"); System.getProperties().remove("http.proxyPort"); System.getProperties().remove("https.proxyHost"); System.getProperties().remove("https.proxyPort"); }
3、总结
代理server是为了主server的安全性,稳定性而设计的,也是很的常见,也是JAVA开发者必须会的东西。假设你正在研究这个,赶紧试试吧。转载标明出办公室,2014年6一个月 王京结束
相关文章推荐
- 使用CXF框架学习搭建WebService(一)
- 【Java多线程】-生产者与消费者
- 【Java笔记】——如何理解线程
- 【java】异常处理
- Java调用存储过程返回多个结果集
- Java中equals和==的区别,hashCode和equals的关系
- JAVA 配置环境变量
- JAVA
- Java心得31
- decision tree+percolation(笔记)+javaio
- java.util.concurrent并发包诸类概览
- Java并发和多线程(二)Executor框架
- 正则表达式之Java匹配指定汉字
- Java反射获取属性、方法、构造器
- JAVA设计模式(08):结构化-飞锤(Flyweight)
- 自定义spring schema简化与canal集成
- jdk安装与卸载
- ajax的url调用Struts 2的action方法,浏览器提示Not Found
- 【Java多线程】-线程同步synchronized和volatile
- ubuntu14.04 搭建java环境