java用什么方法判断爬过来的数据请求超时?

try{
            URL url = new URL("https://api.XXXX.com/?_="+new Date().getTime());
            
            urlConnection = url.openConnection();
            BufferedReader in = new BufferedReader(
                     new InputStreamReader(urlConnection.getInputStream()));
            
             while((current = in.readLine()) != null)
             {
                urlString += current;
             }
             return urlString;
        }catch(IOException e){
            e.printStackTrace();
        }

我是用new url 的方式来爬别人的api拿数据的.但有时会返回{"errorCode":213,"errorMsg":"Timeout","success":"false"}

我现在是想如果返回Timeout ,我就执行某些操作..该怎么做啊?
这些返回出来的都是字符啊.没法判断

阅读 3.1k
2 个回答

你就判断一下拿回来的一行数据里有没有timeout这样的字符串,如果有那就超时了

如果是判断api内部超时就解析得到的结果,这个字符串是可以转成JSON处理的,可以根据errorMsg或者errorCode 来做判断。
如果是判断请求响应超时就在catch里面判断异常信息,会有个timeout异常的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题