首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >reader =InputStreamReader(新InputStreamReader(conn.getInputStream();开始返回异常

reader =InputStreamReader(新InputStreamReader(conn.getInputStream();开始返回异常
EN

Stack Overflow用户
提问于 2014-10-26 17:14:04
回答 1查看 2.5K关注 0票数 1

这东西用了一年多,突然又回到了一个异常。

下面是一些AsynkTask:

代码语言:javascript
复制
URLConnection conn = url.openConnection();
try
{
    reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    //the rest of the code doesn't go - exception works out        
}        
catch(Exception ex)
{
    Error = ex.getMessage();    
}

现在,url是有效的-我从调试器复制它并在浏览器中粘贴它-它返回一个非常好的json,它应该。这件事持续了一年多,现在它发现了一个例外-- FileNotFound

它可能是什么,我怎么解决它?

EN

回答 1

Stack Overflow用户

发布于 2014-10-26 17:29:44

尝试int status = conn.getResponseCode();查看状态。

然后试试InputStream error = conn.getErrorStream();

这些方法来自HttpURLConnection

您可能会得到FileNotFoundException作为web服务器返回404的指示。这是public InputStream getErrorStream()的javadoc

如果连接失败,但服务器仍然发送有用的数据,则返回错误流。典型的例子是当HTTP服务器使用404进行响应时,这将导致在connect中抛出一个FileNotFoundException,但是服务器发送了一个help,并给出了有关应该做什么的建议。 此方法不会导致启动连接。如果连接没有连接,或者服务器连接时没有错误,或者服务器有错误但没有发送错误数据,则此方法将返回null。这是默认的。 返回:如果存在错误流,则为null,如果没有错误,则连接没有连接,或者服务器没有发送有用的数据。

另外,对于类似于您的情况(“我在浏览器中收到页面罚款,但当我试图通过HttpURLConnection访问它时得到了404”),请检查这个答案以查看添加了一些请求属性:

URLConnection FileNotFoundException for non-standard HTTP port sources

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26575675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档