Java未知主机异常

时间:2010-12-13 09:40:17

标签: java android android-emulator

我正在尝试通过我的Android应用程序的HTTP Post请求访问textalertapp.com。但我收到未知主机错误。任何人都可以帮我解决这个问题。

12-13 01:30:16.058: WARN/System.err(473): java.net.UnknownHostException: textalertapp.com
    12-13 01:30:16.088: WARN/System.err(473):     at java.net.InetAddress.lookupHostByName(InetAddress.java:513)
    12-13 01:30:16.088: WARN/System.err(473):     at java.net.InetAddress.getAllByNameImpl(InetAddress.java:278)
    12-13 01:30:16.088: WARN/System.err(473):     at java.net.InetAddress.getAllByName(InetAddress.java:242)
    12-13 01:30:16.088: WARN/System.err(473):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136)
    12-13 01:30:16.099: WARN/System.err(473):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
    12-13 01:30:16.099: WARN/System.err(473):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
    12-13 01:30:16.099: WARN/System.err(473):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
    12-13 01:30:16.108: WARN/System.err(473):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
    12-13 01:30:16.118: WARN/System.err(473):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
    12-13 01:30:16.118: WARN/System.err(473):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
    12-13 01:30:16.118: WARN/System.err(473):     at com.textalert.alertCollection.getAlerts(alertCollection.java:46)
    12-13 01:30:16.118: WARN/System.err(473):     at com.textalert.alertsList$1.run(alertsList.java:81)
    12-13 01:30:16.128: WARN/System.err(473):     at java.lang.Thread.run(Thread.java:1096)

代码是

 HttpClient client = new DefaultHttpClient();
                String postURL = "http://textalertapp.com/androidCode/?api=AlertManager&method=getAlerts";
                HttpPost post = new HttpPost(postURL); 

                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("user", "kris"));
                params.add(new BasicNameValuePair("pass", "xyz"));
                UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8);
                post.setEntity(ent);
                HttpResponse responsePOST = client.execute(post);  
                HttpEntity resEntity = responsePOST.getEntity();  
                if (resEntity != null) {    
                    Log.i("RESPONSE",EntityUtils.toString(resEntity));
                }

3 个答案:

答案 0 :(得分:53)

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

我刚在清单文件中添加了这一行。问题解决了

答案 1 :(得分:6)

这意味着您的主机未知,即不存在或无法访问。再次检查IP并检查是否可以从您的设备获取此IP。这个IP可能存在于您的本地网络中,无法从外部访问。

如果IP存在,请检查防火墙定义。防火墙会产生同样的效果。

答案 2 :(得分:4)

从刚刚完美运行的网址中提取内容时,我刚开始收到“java.net.UnknownHostException”错误。

在圈了一段时间之后,我手动删除了我的项目的/ bin文件夹,并在Eclipse中清理了项目(Project - &gt; Clean),修复了这个错误。