FileNotFoundException异常与有效网址404状态上的HTTP GET请求 [英] FileNotFoundException with 404 status for valid URL on HTTP GET request

查看:212
本文介绍了FileNotFoundException异常与有效网址404状态上的HTTP GET请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下的code执行以下URL的GET请求:

  http://rt.hnnnglmbrg.de/server.php/someReferenceNumber

不过,这里是我的logcat输出:

  java.io.FileNotFoundException:http://rt.hnnnglmbrg.de/server.php/6

为什么会返回404的时候URL显然是有效的?

下面是我的连接code:

  / **
 *执行从服务器返回的base64数据的HTTP GET请求
 *
 * @参数REF
 *该事故的参考
 返回:从服务器基于64位的数据。
 * /
公共静态字符串performGet(字符串REF){
    字符串returnRef = NULL;
    尝试{
        网址URL =新的URL(SERVER_URL +/+ REF);
        HttpURLConnection的CON =(HttpURLConnection类)url.openConnection();
        con.setRequestMethod(GET);        读者的BufferedReader =新的BufferedReader(新的InputStreamReader(con.getInputStream()));        StringBuilder的建设者=新的StringBuilder();
        串线;
        而((行= reader.readLine())!= NULL){
            builder.append(线);
        }        returnRef = builder.toString();    }赶上(IOException异常五){
        e.printStackTrace();
    }
    返回returnRef;
}


解决方案

当你请求的URL,它实际上返回HTTP code 404 这意味着未找到。如果你有控制权交给PHP脚本,头设置为 200 来表示文件中找到。

I have the following code to perform a GET request on the following URL:

http://rt.hnnnglmbrg.de/server.php/someReferenceNumber

However, here is my output from Logcat:

java.io.FileNotFoundException: http://rt.hnnnglmbrg.de/server.php/6

Why does it return 404 when the URL is clearly valid?

Here is my connect code:

/**
 * Performs an HTTP GET request that returns base64 data from the server
 * 
 * @param ref
 *            The Accident's reference
 * @return The base64 data from the server.
 */
public static String performGet(String ref) {
    String returnRef = null;
    try {
        URL url = new URL(SERVER_URL + "/" + ref);
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setRequestMethod("GET");

        BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream()));

        StringBuilder builder = new StringBuilder();
        String line;
        while ((line = reader.readLine()) != null) {
            builder.append(line);
        }

        returnRef = builder.toString();

    } catch (IOException e) {
        e.printStackTrace();
    }
    return returnRef;
}

解决方案

When you request the URL, it actually return HTTP code 404 which mean not found. If you have control to the PHP script, set the header to 200 to indicate file is found.

这篇关于FileNotFoundException异常与有效网址404状态上的HTTP GET请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆