gpt4 book ai didi

当我在 HTTP 请求中使用 Get 方法时出现 java.io.FileNotFoundException

转载 作者:行者123 更新时间:2023-11-29 21:29:17 25 4
gpt4 key购买 nike

我是 Android 开发的初学者。我正在尝试开发一个管理 FB 事件的小型应用程序。当我尝试从 Grapfh API 获取事件时遇到这个问题

这是日志:

11-07 18:40:22.785: D/dalvikvm(418): GC_CONCURRENT freed 634K, 51% free 3331K/6727K, external 1660K/2137K, paused 4ms+5ms11-07 18:40:23.235: D/dalvikvm(418): GC_CONCURRENT freed 800K, 51% free 3320K/6727K, external 1660K/2137K, paused 4ms+3ms11-07 18:40:23.595: D/dalvikvm(418): GC_CONCURRENT freed 686K, 52% free 3275K/6727K, external 1660K/2137K, paused 4ms+3ms11-07 18:40:23.715: W/System.err(418): java.io.FileNotFoundException: https://graph.facebook.com/me11-07 18:40:23.726: W/System.err(418):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:521)11-07 18:40:23.726: W/System.err(418):  at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:258)11-07 18:40:23.726: W/System.err(418):  at it.unisannio.flash.mobile.MainFragment.onSessionStateChange(MainFragment.java:79)11-07 18:40:23.726: W/System.err(418):  at it.unisannio.flash.mobile.MainFragment.access$0(MainFragment.java:68)11-07 18:40:23.726: W/System.err(418):  at it.unisannio.flash.mobile.MainFragment$1.call(MainFragment.java:116)11-07 18:40:23.726: W/System.err(418):  at com.facebook.Session$3$1.run(Session.java:1302)11-07 18:40:23.726: W/System.err(418):  at android.os.Handler.handleCallback(Handler.java:587)11-07 18:40:23.726: W/System.err(418):  at android.os.Handler.dispatchMessage(Handler.java:92)11-07 18:40:23.726: W/System.err(418):  at android.os.Looper.loop(Looper.java:130)11-07 18:40:23.726: W/System.err(418):  at android.app.ActivityThread.main(ActivityThread.java:3683)11-07 18:40:23.726: W/System.err(418):  at java.lang.reflect.Method.invokeNative(Native Method)11-07 18:40:23.726: W/System.err(418):  at java.lang.reflect.Method.invoke(Method.java:507)11-07 18:40:23.726: W/System.err(418):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)11-07 18:40:23.735: W/System.err(418):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)11-07 18:40:23.735: W/System.err(418):  at dalvik.system.NativeStart.main(Native Method)11-07 18:40:25.314: D/dalvikvm(418): GC_CONCURRENT freed 621K, 52% free 3280K/6727K, external 2046K/2137K, paused 4ms+3ms11-07 18:40:27.314: W/InputManagerService(60): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@4076140811-07 18:40:29.314: D/dalvikvm(295): GC_EXPLICIT freed 637K, 40% free 7291K/12039K, external 1625K/2137K, paused 104ms11-07 18:41:27.998: I/dalvikvm(295): Jit: resizing JitTable from 2048 to 4096

and this is the code:

try {
URL url = new URL("https://graph.facebook.com/me");
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
BufferedReader read = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line = read.readLine();

String html = "";
while(line!=null) {
html += line;
line = read.readLine();
}
userInfoTextView.setText(line);
} catch(MalformedURLException ex) {
ex.printStackTrace();
} catch(IOException ioex) {
ioex.printStackTrace();
}

最佳答案

显然 org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl,它是运行时环境中使用的 HttpURLConnection 的实现当响应 status code 时抛出 FileNotFoundException为 400 及以上(错误)。
在这个类的源码中可以看到:

/*
* if the requested file does not exist, throw an exception formerly the
* Error page from the server was returned if the requested file was
* text/html this has changed to return FileNotFoundException for all
* file types
*/
if (responseCode >= HTTP_BAD_REQUEST) {
throw new FileNotFoundException(url.toString());
}

在您的情况下,如果您检查从此 URL 返回的响应,您将看到您得到一个 400。状态代码(错误请求),错误如下:

{
"error": {
"message": "An active access token must be used to query information about the current user.",
"type": "OAuthException",
"code": 2500
}
}

您可以通过调用 getResponseCode() 查看响应代码:

int status = connection .getResponseCode();

您可以阅读更多关于需要在 Facebook API 中完成的操作 documentation

关于当我在 HTTP 请求中使用 Get 方法时出现 java.io.FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19843211/

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