【发布时间】:2011-01-17 23:34:02
【问题描述】:
我正在编写一个 android 应用程序,它应该从 php 页面获取 html 并使用页面中的解析数据。我在这里搜索了这个问题,最后使用了另一个海报发布的示例中的一些代码。到目前为止,这是我的代码:
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
try {
Log.d("first","first");
HttpResponse response = client.execute(request);
String html = "";
Log.d("second","second");
InputStream in = response.getEntity().getContent();
Log.d("third","third");
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
Log.d("fourth","fourth");
StringBuilder str = new StringBuilder();
String line = null;
Log.d("fifth","fifth");
while((line = reader.readLine()) != null) {
Log.d("request line",line);
}
in.close();
} catch (ClientProtocolException e) {
} catch (IOException e) {
// TODO Auto-generated catch block
Log.d("error", "error");
}
Log.d("end","end");
}
就像我之前说的,url 是一个 php 页面。每当我运行此代码时,它会打印出第一条消息,然后打印出错误错误消息,最后打印出结束消息。我试过修改标题,但我没有运气。任何帮助将不胜感激,因为我不知道我做错了什么。
谢谢!
当我执行 e.getMessage() 并将其打印出来时,在记录器中它只显示 stanford.edu。希望有帮助。这是堆栈跟踪:
01-17 16:58:27.687: WARN/System.err(452): java.net.UnknownHostException: stanford.edu 01-17 16:58:27.947: WARN/System.err(452): 在 java.net.InetAddress.lookupHostByName(InetAddress.java:506) 01-17 16:58:27.947: WARN/System.err(452): 在 java.net.InetAddress.getAllByNameImpl(InetAddress.java:294) 01-17 16:58:27.977: WARN/System.err(452): 在 java.net.InetAddress.getAllByName(InetAddress.java:256) 01-17 16:58:27.977: WARN/System.err(452): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136) 01-17 16:58:28.027: WARN/System.err(452): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) 01-17 16:58:28.027: WARN/System.err(452): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) 01-17 16:58:28.047: WARN/System.err(452): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348) 01-17 16:58:28.057: WARN/System.err(452): 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 01-17 16:58:28.057: WARN/System.err(452): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 01-17 16:58:28.117: WARN/System.err(452): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) 01-17 16:58:28.117: WARN/System.err(452): at edu.stanford.cs247.util.ColorHandler.getInfo(ColorHandler.java:44) 01-17 16:58:28.217: WARN/System.err(452): at edu.stanford.cs247.util.ColorHandler.handleMessage(ColorHandler.java:70) 01-17 16:58:28.217: WARN/System.err(452): 在 android.os.Handler.dispatchMessage(Handler.java:99) 01-17 16:58:28.247: WARN/System.err(452): 在 android.os.Looper.loop(Looper.java:123) 01-17 16:58:28.257: WARN/System.err(452): 在 android.app.ActivityThread.main(ActivityThread.java:3647) 01-17 16:58:28.257: WARN/System.err(452): 在 java.lang.reflect.Method.invokeNative(Native Method) 01-17 16:58:28.297: WARN/System.err(452): 在 java.lang.reflect.Method.invoke(Method.java:507) 01-17 16:58:28.297: WARN/System.err(452): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 01-17 16:58:28.327: WARN/System.err(452): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 01-17 16:58:28.337: WARN/System.err(452): at dalvik.system.NativeStart.main(Native Method)
【问题讨论】: