java.io.IOException: Server returned HTTP response code: 503 for UR

记录java.io.IOException: Server returned HTTP response code: 503 for UR

摘要

开发的系统要去调用一个第三方系统的功能,通过http协议调用,在本地测试环境跑正常,提交版本到测试环境,刚开始运行正常,后面过了一端时间,偶尔出现503,以为是对方的服务问题,通过postman测试正常,下面就是排查问题了。

尝试

在网络浏览了各路大神的问题和解决办法:

  1. 请求头设置各种参数,—无效
  2. 各种输入输出流切换,—无效
  3. getInputStream和getInputError区别,有可能返回只是getInputStream获取不到,—无效
  4. 切换http请求类,URLConnect~HttpClient,—无效
    。。。。

发现问题

代理问题
发现测试在执行了同事开发的另一个功能,去TX下载图片的功能之后就会出现问题,查看调用TX的API代码发现,

System.setProperty("Property1", "xxx");
//设置成为系统级的代理~

实际问题是去TX要走代理到外网,我的系统和对方的系统都是在内网网段安全区内的,完全没必要到代理去,代理服务器也没有开通访问对方服务器的网络,至此,问题找到了

解决问题

当然是修改全局代理的问题了,JAVA的动态代理类(Proxy)

//TODO
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(host, port));
URLConnection conn = url.openConnection(proxy);

心得

  1. 解决问题须先找到问题所在
  2. 结合实际情况,前人经验可以借鉴,不能套用
  3. 多学习,多总结
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值