网络代理
来源:互联网 发布:通过mac地址监控手机 编辑:程序博客网 时间:2024/06/03 22:59
代理有助于减少安全性的外部威胁,同时还允许内部用户访问因特网服务
有两种代理实现方式
一、设置系统属性
通过设置系统属性(System.setPropery(String key, String value)的方式,这种方式会影响所有的请求,
可用的网络代理属性,请参照
http://docs.oracle.com/javase/7/docs/api/java/net/doc-files/net-properties.html
1、设置代理
System.setProperty("java.net.useSystemProxies", "true");// HTTP代理System.setProperty("http.proxyHost", proxyHost);System.setProperty("http.proxyPort", proxyPort + "");// HTTPS代理System.setProperty("https.proxyHost", proxyHost);System.setProperty("https.proxyPort", proxyPort + "");2、获取代理
/** * 获取代理 * * @param url * @return */private static Proxy getSystemProxy(String url) {Proxy proxy = null;try {ProxySelector ps = ProxySelector.getDefault();List<Proxy> proxyList = ps.select(new URI(url));if (null != proxyList && !proxyList.isEmpty()) {proxy = proxyList.get(0);}} catch (Exception e) {e.printStackTrace();}return proxy;}
二、java.net.Proxy
本方式只对当前请求起作用
InetSocketAddress inetAddress= new InetSocketAddress(proxyHost,proxyPort);//创建代理Proxy proxy = new Proxy(Proxy.Type.HTTP,inetAddress);//设置代理URL url = new URL(urlStr);HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);
三、代理认证
有些代理在授权用户访问因特网之前,要求用户输入用户名和口令。如果您使用位于防火墙之内的Web浏览器,
您就可能碰到过这种情况。以下是执行认证的方法:
1、Authenticator
Authenticator.setDefault(new Authenticator() {@Overrideprotected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(username,password);}});
这种方式是全局的,对所有请求生效。
String auth="username:password"; String encodedAuth=base64Encode(auth); String header="Proxy-Authorization: basic "+encodedAuth;只对当前请求生效。
0 0
- 网络代理
- 网络代理神器-非常代理
- Ubuntu设置网络代理
- ubuntu网络代理设置
- wap网络代理问题
- ubuntu网络代理设置
- Curl之网络代理
- android 网络请求代理
- [Go]网络代理实现
- 什么是网络代理
- Java网络编程-代理
- java 设置代理网络
- Android手机网络代理
- ubuntu 设置网络代理
- 切换网络和代理
- 3.网络代理组件
- 浏览器设置网络代理
- msys2设置网络代理
- docker学习笔记之镜像探析
- 利用MySQL数据库如何解决大数据量存储问题?
- NDK开发学习笔记—JNI入门
- OpenCV遍历彩色图像、灰度图像的像素值方法
- leetcode_112. Path Sum 二叉树路径求和,判断是否存在路径和为某个值的路径,深度遍历,递归的return
- 网络代理
- Python函数
- 第32周-鸟哥的Linux私房菜基础篇第三版-第十章、vim 程序编辑器
- Linux权限管理
- 最大矩阵问题
- 14.网络通信基础知识
- 常用的linux命令
- java基础之动态代理
- codeforces-445【A思维】【B并查集】