最近有个解析url的工作,根据工作需要,先从xml文件中获取url,然后打开该url,获取网页上的一些数据,结果出现了如下错误
java.net.SocketTimeoutException: Read timed out
经过查找研究,原因是:
客户端没有在限定的时间内将数据发送给服务器,服务器为了保证服务性能,认定那个连接已经失效,所以出现上述异常。
错误位置定位如下:
inputStream=new DataInputStream(con.getInputStream());
由此得出解决方案为:
增大客户端的超时时间。
在出错的位置前面
增加代码:
- System.setProperty(“sun.net.client.defaultConnectTimeout”, String
- .valueOf(10000));// (单位:毫秒)
- System.setProperty(“sun.net.client.defaultReadTimeout”, String
- .valueOf(10000)); // (单位:毫秒)
- inputStream=new DataInputStream(con.getInputStream());
GDCA(数安时代)拥有国内自主签发信鉴易 TrustAUTH SSL证书以及是国际多家知名品牌:GlobalSign、Symantec、GeoTrust SSL证书指定的国内代理商。为了让国内更多的网站升级到安全的https加密传输协议,五一期间,GDCA推出多种国际知名SSL证书优惠活动,实现HTTPS加密并展示网站真实身份信息。详情请资讯GDCA产品官网在线客服https://www.sslsq.com/。