2010-12-13 13 views
19

Próbuję uzyskać dostęp do textalertapp.com za pośrednictwem żądania HTTP Post z mojej aplikacji dla systemu Android. Ale otrzymuję błąd Nieznany host. Czy ktoś może mi pomóc rozwiązać ten problem.Wyjątek dla nieznanego hosta Java

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) 

Code jest

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)); 
       } 
+0

Czy możesz podać kod źródłowy powodujący wyjątek? – Thomas

Odpowiedz

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

Właśnie dodałem tę linię w pliku manifestu. Problem rozwiązany

+0

Świetnie! Tak nie myślałem. – AlexR

+0

Zaakceptuj tę odpowiedź. –

+1

To prawda, przegapiłeś uprawnienia, rozwiążesz problem ..., sprawdziłem z kodem ....... – viv

6

Oznacza to, że Twój komputer jest nieznany, to znaczy nie istnieje lub jest niedostępny. Sprawdź ponownie swój adres IP i sprawdź, czy możesz uzyskać ten adres IP z urządzenia. Prawdopodobnie ten adres IP istnieje w twojej lokalnej sieci i nie jest dostępny z zewnątrz.

Jeśli istnieje adres IP, sprawdź definicje zapory. Zapora sieciowa powoduje ten sam efekt.

+1

Host istnieje ... Sprawdziłem. –

+0

+1 za upewnienie się, że istnieje połączenie. W przypadku urządzeń z Androidem często zapominamy, że musi być albo połączenie Wi-Fi, albo inna forma połączenia. – BlackHatSamurai

4

Właśnie zacząłem otrzymywać błąd "java.net.UnknownHostException" podczas pobierania treści z adresu URL, który wcześniej działał doskonale.

Po przejściu w kółko przez pewien czas ręcznie skasowałem folder projektu/bin i wyczyściłem projekt w Eclipse (Project -> Clean), który naprawił ten błąd.

Powiązane problemy