spring boot给http添加正向代理

http://blog.csdn.net/jaune161/article/details/44198599
http://46aae4d1e2371e4aa769798941cef698.devproxy.yunshipei.com/zhengdan66/article/details/48158523
http://stackoverflow.com/questions/24605372/proxy-settings-in-spring-boot?rq=1
http://www.hongxuejing.com/java/tomcat-use-http-proxy-57.html
https://my.oschina.net/u/267384/blog/173243
http://stackoverflow.com/questions/3601474/how-to-make-maven-use-system-proxy-settings/3603093#3603093
http://stackoverflow.com/questions/33951240/specifying-an-http-proxy-with-spring-boot
 
在springcloudconfig的集群项目中,内网的服务器不能访问外网,搭建一个外网代理服务器,内网下的项目需要找云服务器上的配置文件时可能会出现寻找配置文件时出不了外网的情况。这时需要在项目中配置http的正向代理。
(下面来自   http://www.hongxuejing.com/java/tomcat-use-http-proxy-57.html   )

  方法一:设置java的启动参数

 在启动java时增加环境变量参数,比如:

 -Dhttp.proxyHost=代理ip -Dhttp.proxyPort=3128 -Dhttps.proxyHost=代理ip -Dhttps.proxyPort=3128

  方法二:在java代码初始化时设置环境变量:

  

System.setProperty("http.proxyHost", "代理ip");

System.setProperty("http.proxyPort", "3128");

System.setProperty("https.proxyHost", "代理ip");

System.setProperty("https.proxyPort", "3128");

 

  方法三:在java 代码中设置使用代理:

URL url = new URL("https://某网址");

 

Proxy proxy = new Proxy(Proxy.Type.DIRECT.HTTP, new InetSocketAddress("代理ip", 3128));  

HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);

  方法四:如果操作系统已经配置好代理,可以直接使用

System.setProperty("java.net.useSystemProxies", "true");
当然也可以在启动时增加-Djava.net.useSystemProxies=true

如果某些网址不需要使用代理,可以单独进行设置,比如:
-Dhttp.nonProxyHosts="www.hongxuejing.com|localhost"

 但是在实际应用时,只有第二种方法能解决办法,java -jar 添加启动参数并没有用,在项目中也就使用了这种方法。如果哪位大神看到了希望能告知,先谢谢了。

posted @ 2016-12-26 19:06  bad_boy_f  阅读(14847)  评论(0编辑  收藏  举报