RestTemplate 报错 I/O error on POST request for

问题:

org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://www.xxx.com/xxx/xxx/xxx": Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out

场景:

在代码中使用RestTemplate请求http://www.xxx.com/xxx/xxx/xxx地址时,报上面的错误。

然后使用Postman调用上面地址,却能正确返回信息。

这个地址是甲方提供的接口,我们需要登录vpn后才能调用。

开发的时候RestTemplate调用是正常的,一段时间没用,在这次本地测试时出现了上面的错误。

后来网上找了半天终于解决了,总结了一下,希望送给有缘人。

原因:

具体原因不太清楚,好像是VPN不支持使用IPv6进行通讯导致的。

但是一开始也是使用同样的VPN,原因就不得而知了。

解决:

Intellij Idea 配置方法如下:

① 打开Edit Configurations...

② 设置VM options:-Djava.net.preferIPv4Stack=true,即仅使用IPv4进行通信即可

Eclipse 配置方法如下:

① 设置 Default VM arguments:-Djava.net.preferIPv4Stack=true 即可

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值