来自GAE地址的getInputStream上的FileNotFoundException

2024-07-08 08:41:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python做一个带有API的Android应用程序。API在googleappengine云上,当我用Postman测试它时,一切正常。你知道吗

我正在尝试用POST方法登录。该方法返回json,其中包含我一直得到的用户信息:FileNotFoundException

以下是我的一些代码:

try{
            String account = params[0].get(0);
            String password = params[0].get(1);

            URL url = new URL("http", WEB_SERVICE_URL, PORT, REST_LOGIN);
            HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
            httpURLConnection.setConnectTimeout(CONNECTION_TIMEOUT);


            httpURLConnection.setRequestMethod("POST");


            httpURLConnection.setDoOutput(true);
            httpURLConnection.setRequestProperty("Content-Type", "application/json");
            httpURLConnection.setRequestProperty("Accept", "application/json");

            JSONObject json = jsonParser.serialJsonLogin(nomCompte, motPasse);


            osw = new OutputStreamWriter(httpURLConnection.getOutputStream(),"UTF-8");
            osw.write(json.toString());
            osw.flush();
            String body = readStream(httpURLConnection.getInputStream());
            osw.close();




            Log.i(TAG, "Return : " + body);

            user = jsonParser.deserializeJsonUser(body);

        }catch (Exception e) {
            mException = e;
        }finally {
            if (mHttpURLConnection != null) {
                mHttpURLConnection.disconnect();
            }
        }
        return user;

At:String body=readStream(httpURLConnection.getInputStream());我得到一个java.io.FileNotFoundException异常:http://10.0.2.2:8080/login

我的readStream方法很好,我已经测试过了。如果我在我的谷歌应用引擎日志,我可以看到没有404,或任何错误。如果我找到用户,我会得到201如果不是403。所以即使错误是FileNotFound,我也会看到状态码,这意味着URL实际上是正确的。你知道吗

更新:我的API给了我一个201,getInputStream显然在201状态下不工作。在API中将我的return状态改为200,可以正常工作。你知道吗


Tags: 方法用户apijsonurlstring状态body

热门问题