gpt4 book ai didi

java - 我在尝试 httpcon.getInputStream() 时遇到 FileNotFoundException。有没有办法方便的检查是否是404网页?

转载 作者:行者123 更新时间:2023-12-01 22:56:00 26 4
gpt4 key购买 nike

因此,在我的代码的一部分中,我尝试访问网页,并且在该网页不存在的情况下(我正在测试),我收到 FileNotFoundException。

位于 sun.net.www.protocol.http.HttpURLConnection.getInputStream0(来源未知)

位于 sun.net.www.protocol.http.HttpURLConnection.getInputStream(来源未知)

我真的只是想检查它是否不存在,如果不存在,我就不会打扰 getInputStream 或 BufferedReader 或其他什么。是否有一个简单的 IF 子句可以满足这个要求?

oracle = new URL(scholarURL);   

HttpURLConnection httpcon = (HttpURLConnection) oracle.openConnection();
httpcon.addRequestProperty("User-Agent", "Mozilla/4.76");

BufferedReader in = new BufferedReader(new InputStreamReader(httpcon.getInputStream()));

最佳答案

在获取InputStream之前,只需检索状态代码即可。

if (con.getResponseCode() == 404) {
// do something
InputStream err = con.getErrorStream();
// use it
}

请注意在发生错误时应如何使用 UrlConnection#getErrorStream()(以及非 2xx 状态代码)。

此外,请认真考虑使用不同的、更好的 HTTP 客户端。我建议Apache's HttpComponents.

关于java - 我在尝试 httpcon.getInputStream() 时遇到 FileNotFoundException。有没有办法方便的检查是否是404网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24052012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com