JAVA如何设置代理server,s取消代理erver
2024-08-31 15:15:50
1、一个简短的引论
代理server(Proxy
Server)是一种重要的server安全功能,它的工作主要在开放系统互联(OSI)模型的会话层,从而起到防火墙的作用。
代理server大多被用来连接INTERNET(国际互联网)和INTRANET(局域网)。主要功能:就是代理网络用户去取得网络信息。形象的说,它是网络信息的中转站。本文主要介绍怎样使用java代码设置代理server。
主server为了防止被伪用户攻击,统一让用户通过代理server去訪问主server,这样做的安全性是显而易见的。一个图理解代理server及作用
2、使用
在JAVA中怎么设置代理server呢,很easy
public 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一个月 王京结束
版权声明:本文博主原创文章,博客,未经同意不得转载。
最新文章
- BZOJ 2743: [HEOI2012]采花
- 在实例中说明java的类变量,成员变量和局部变量
- 数据库的日志数据库(_log.ldf)文件太大,如何压缩
- jQuery实现无限加载瀑布流特效
- error: Refusing to undefine while domain managed save image exists
- tcpdump抓包
- 转载:如何避免代码中的if嵌套
- 模板-->;扩展欧几里得
- The area面积计算
- react中常用的一些方法
- 关于《Head First Python》一书中print_lol()函数的思考
- TensorFlow 2.0 Alpha pip安装指令
- 基于Netty 实现简单的私有协议
- react native 中实现个别页面禁止截屏
- CentOS 搭建git服务
- 【C语言】字节对齐(内存对齐)
- windows10安装ubuntu16.04双系统
- 我是如何将linux用在开发环境中的
- PHP扩展类ZipArchive实现压缩解压Zip文件和文件打包下载 &;&; Linux下的ZipArchive配置开启压缩 &;&;搞个鸡巴毛,写少了个‘/’号,浪费了一天
- Manjaro 更新vim插件或者系统后 YCM失效
热门文章
- AE加载不同数据的方法(GeoDatabase空间数据管理)
- 数据库中暂时表,表变量和CTE使用优势极其差别
- js进阶 12-7 pageY和screenY以及clientY的区别是什么
- layui是什么
- 是男人就下100层【第四层】——Crazy贪吃蛇(3)
- (十一)RabbitMQ消息队列-如何实现高可用
- 从源码角度实现一个自己的Promise
- 【solr专题之二】配置文件:solr.xml solrConfig.xml schema.xml 分类: H4_SOLR/LUCENCE 2014-07-23 21:30 1959人阅读 评论(0) 收藏
- Javascript 获取页面高度(多种浏览器)
- redisson