我希望收到来自URL的404错误,但我一直使用的代码产生一个错误:收到404错误的Android
public String getRespond(String request) {
try{
URL url=new URL (request);
URLConnection connection=url.openConnection();
InputStream in=new BufferedInputStream(connection.getInputStream());
Scanner scanner =new Scanner(in);
String response=scanner.nextLine();
scanner.close();
return response;
}
catch (Exception e){
return null;
}
}
错误是在“中新= ...” ,并且我不可能知道是否有404错误。 这是错误:
02-23 11:42:42.869 20413-20413/com.mappleapps.tm2ibz E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.mappleapps.tm2ibz, PID: 20413
android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1156)
at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
at java.net.InetAddress.getAllByName(InetAddress.java:214)
at com.android.okhttp.internal.Dns$1.getAllByName(Dns.java:28)
at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:216)
at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:122)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:292)
at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:179)
谢谢!
什么错误?你应该提供'LogCat'输出,所以我们可以帮你 – Gorcyn 2015-02-23 10:35:12
要检查是否有404错误,你应该在输入流之前使用connection.getResponseCode(),它会返回响应的编号(比如200,400, 404 ...) – programmer23 2015-02-23 10:36:49
@Gorcyn对不起,我编辑了错误的帖子!谢谢! – avilalta92 2015-02-23 10:47:45