[英]URLConnection throws a FileNotFoundException. How do I discover this was caused by a 404?
我有这个代码:
String buildUrl = DEFAULT_HOST + "/job/" + jobName + "/" + buildNumber + API_PATH;
URLConnection connection = new URL(buildUrl).openConnection();
InputStream is = connection.getInputStream();
如果该buildUrl
导致404响应,则该最后一行抛出FileNotFoundException
。 但是,我想知道服务器返回404,因为我不相信FileNotFoundException
总是意味着 404,我想在404s发生时做一些特别的事情。
使用URLConnection
时如何知道404何时发生?
首先, HttpURLConnection
为HttpURLConnection
然后调用connection.connect()
而不是getInputStream
。 完成后,调用getResponceCode()
。 如果一切顺利,那么您可以获得输入流
如果您对第三方库感到满意,那么请查看apache commons http客户端组件项目。 这个库比jdk中的本机url连接api具有更多用户友好的http api。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.