Java如何设置代理ip
Java如何设置代理ip
第一种,直接在JVM中设置:
/*JVM设置代理*/
System.getProperties().setProperty("http.proxyHost", ip);
System.getProperties().setProperty("http.proxyPort", "80");
这种设置的优势 :快捷方便,且由于是JVM级别的设置,可以对整个项目起作用。当然这种设置方法有一个明显的劣势:当代理ip不可用时,会直接调用本地网络来进行连接。这个问题在很多使用场景中是非常致命的。
第二种,使用SocketAddress网络代理:
SocketAddress addr = new InetSocketAddress(host, Integer.parseInt(port));
Proxy proxy = new Proxy(Proxy.Type.HTTP, addr);
try{
URL url = new URL("http://www.baidu.com");
URLConnection conn = url.openConnection(proxy);
conn.setConnectTimeout(5000);
conn.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 7.0; NT 5.1; GTB5; .NET CLR 2.0.50727; CIBA)");
conn.getContent();
}catch (Exception e) {
e.printStackTrace();
}
这种办法的优势是,在代理连接发生错误时,会抛出异常而并不是使用本地的连接继续访问。而劣势也很明显,你需要为每一次连接创建一个代理对象。
欢迎一起来学习和指导,谢谢关注!
本文来自博客园,作者:xiexie0812,转载请注明原文链接:https://www.cnblogs.com/mask-xiexie/p/14626998.html