java代理

目的:本地需要连接国外被墙的服务,自己没有软路由等,只有是在本机设置了代理,但是本机运行java程序并不经过代理。connect time out。

操作:

文章源:oracle官方文档

1、全局编程方式设置:

System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "8118");
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("https.proxyPort", "8118");
System.setProperty("ftp.proxHost", "127.0.0.1");
System.setProperty("ftp.proxyPort", "8118");
System.setProperty("socksProxyHost", "127.0.0.1");
System.setProperty("socksProxyPort", "8118");

2、全局运行时设置参数:

java  -Dhttp.proxyHost=127.0.0.1  -Dhttp.proxyPort=8118  -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8118  -Dftp.proxyHost=127.0.0.1 -Dftp.proxyPort=8118  -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=8118 GetURL

3、局部设置,请查看官方文档最下面。

如果以上设置依然不能连接到目标服务器,很可能是你的端口错误或者该端口不支持该协议。

场景:

    我使用javamail连接gmail服务器,上面执行总是timeout。其中在于8118端口只支持http和ftp协议,他是将http和ftp协议代理转换成socket协议。如果socket协议支持的端口是1080,那么上面正确额配置应该是

java  -Dhttp.proxyHost=127.0.0.1  -Dhttp.proxyPort=8118  -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8118  -Dftp.proxyHost=127.0.0.1 -Dftp.proxyPort=8118  -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1080

如果在linux中配置代理参数,需要设置/etc/environment文件成

http_proxy="http://127.0.0.1:8118"
https_proxy="https://127.0.0.1:8118"
ftp_proxy="ftp://127.0.0.1:8118"
socks_proxy="socks://127.0.0.1:1080"
HTTP_PROXY="http://127.0.0.1:8118"
HTTPS_PROXY="https://127.0.0.1:8118"
FTP_PROXY="ftp://127.0.0.1:8118"
SOCKS_PROXY="socks://127.0.0.1:1080"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值