Java.net.UnknownHostException: No se puede resolver el host "<url>": ninguna dirección asociada con hostname y End of input en el carácter 0 de
He creado una aplicación que carga una pregunta de mis servicios web, y funciona bien. Pero, a veces se bloquea y no tengo la razón por la que esto está sucediendo, sobre todo porque también he dado los permisos necesarios. Funciona bien, pero al azar, se bloquea y me da este informe.
private void sendContinentQuestions(int id) { // TODO Auto-generated method stub //Get the data (see above) JSONArray json = getJSONfromURL(id); try{ for(int i=0; i < json.length(); i++) { HashMap<String, String> map = new HashMap<String, String>(); JSONObject jObject = json.getJSONObject(i); longitude":"72.5660200" String category_id = jObject.getString("category_id"); String question_id = jObject.getString("question_id"); String question_name = jObject.getString("question_name"); String latitude = jObject.getString("latitude"); String longitude = jObject.getString("longitude"); String answer = jObject.getString("answer"); String ansLatLng = latitude+"|"+longitude ; Log.v("## data:: ###",question_id+"--"+question_name+"-cat id-"+category_id+"--ansLatLng "+ansLatLng+" answer: "+answer); all_question.add(new QuestionData(game_id,category_id,question_id,question_name,ansLatLng,answer)); } }catch(JSONException e) { Log.e("log_tag", "Error parsing data "+e.toString()); } } } public JSONArray getJSONfromURL(int id){ String response = ""; URL url; try { url = new URL(Consts.GET_URL+"index.php/Api/getQuestion?cat_id="+id); HttpURLConnection http = (HttpURLConnection) url.openConnection(); http.setRequestMethod("POST"); InputStream is = http.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); response = br.readLine(); Log.v("###Response :: ###",response); http.disconnect(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (ProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } //try parse the string to a JSON object JSONArray jArray = null; try{ jArray = new JSONArray(response); }catch(JSONException e){ Log.e("log_tag", "Error parsing data "+e.toString()); } return jArray; }
11-13 15:02:52.307: W/System.err(8012): java.net.UnknownHostException: Unable to resolve host "www.xyz.com": No address associated with hostname 11-13 15:02:52.317: W/System.err(8012): at java.net.InetAddress.lookupHostByName(InetAddress.java:424) 11-13 15:02:52.317: W/System.err(8012): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236) 11-13 15:02:52.317: W/System.err(8012): at java.net.InetAddress.getAllByName(InetAddress.java:214) 11-13 15:02:52.317: W/System.err(8012): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70) 11-13 15:02:52.317: W/System.err(8012): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50) 11-13 15:02:52.317: W/System.err(8012): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340) 11-13 15:02:52.317: W/System.err(8012): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87) 11-13 15:02:52.317: W/System.err(8012): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128) 11-13 15:02:52.317: W/System.err(8012): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316) 11-13 15:02:52.317: W/System.err(8012): at libcore.net.http.HttpEngine.connect(HttpEngine.java:311) 11-13 15:02:52.317: W/System.err(8012): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290) 11-13 15:02:52.317: W/System.err(8012): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240) 11-13 15:02:52.317: W/System.err(8012): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:282) 11-13 15:02:52.317: W/System.err(8012): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:177) 11-13 15:02:52.327: W/System.err(8012): at com.abc.xyz.ContinentActivity.getJSONfromURL(ContinentActivity.java:400) 11-13 15:02:52.327: W/System.err(8012): at com.abc.xyz.ContinentActivity.sendContinentQuestions(ContinentActivity.java:327) 11-13 15:02:52.327: W/System.err(8012): at com.abc.xyz.ContinentActivity.access$2(ContinentActivity.java:323) 11-13 15:02:52.327: W/System.err(8012): at com.abc.xyz.ContinentActivity$LoadQuestions.doInBackground(ContinentActivity.java:254) 11-13 15:02:52.327: W/System.err(8012): at com.abc.xyz.ContinentActivity$LoadQuestions.doInBackground(ContinentActivity.java:1) 11-13 15:02:52.327: W/System.err(8012): at android.os.AsyncTask$2.call(AsyncTask.java:287) 11-13 15:02:52.327: W/System.err(8012): at java.util.concurrent.FutureTask.run(FutureTask.java:234) 11-13 15:02:52.327: W/System.err(8012): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 11-13 15:02:52.327: W/System.err(8012): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 11-13 15:02:52.337: W/System.err(8012): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 11-13 15:02:52.337: W/System.err(8012): at java.lang.Thread.run(Thread.java:841) 11-13 15:02:52.337: W/System.err(8012): Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname) 11-13 15:02:52.337: W/System.err(8012): at libcore.io.Posix.getaddrinfo(Native Method) 11-13 15:02:52.337: W/System.err(8012): at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:61) 11-13 15:02:52.337: W/System.err(8012): at java.net.InetAddress.lookupHostByName(InetAddress.java:405) 11-13 15:02:52.337: W/System.err(8012): ... 24 more 11-13 15:02:52.337: E/log_tag(8012): Error parsing data org.json.JSONException: End of input at character 0 of 11-13 15:02:52.337: W/dalvikvm(8012): threadid=194: thread exiting with uncaught exception (group=0x417c1700) 11-13 15:02:52.337: E/AndroidRuntime(8012): FATAL EXCEPTION: AsyncTask #5 11-13 15:02:52.337: E/AndroidRuntime(8012): java.lang.RuntimeException: An error occured while executing doInBackground() 11-13 15:02:52.337: E/AndroidRuntime(8012): at android.os.AsyncTask$3.done(AsyncTask.java:299) 11-13 15:02:52.337: E/AndroidRuntime(8012): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352) 11-13 15:02:52.337: E/AndroidRuntime(8012): at java.util.concurrent.FutureTask.setException(FutureTask.java:219) 11-13 15:02:52.337: E/AndroidRuntime(8012): at java.util.concurrent.FutureTask.run(FutureTask.java:239) 11-13 15:02:52.337: E/AndroidRuntime(8012): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 11-13 15:02:52.337: E/AndroidRuntime(8012): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 11-13 15:02:52.337: E/AndroidRuntime(8012): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 11-13 15:02:52.337: E/AndroidRuntime(8012): at java.lang.Thread.run(Thread.java:841) 11-13 15:02:52.337: E/AndroidRuntime(8012): Caused by: java.lang.NullPointerException 11-13 15:02:52.337: E/AndroidRuntime(8012): at com.abc.xyz.ContinentActivity.sendContinentQuestions(ContinentActivity.java:328) 11-13 15:02:52.337: E/AndroidRuntime(8012): at com.abc.xyz.ContinentActivity.access$2(ContinentActivity.java:323) 11-13 15:02:52.337: E/AndroidRuntime(8012): at com.abc.xyz.ContinentActivity$LoadQuestions.doInBackground(ContinentActivity.java:254) 11-13 15:02:52.337: E/AndroidRuntime(8012): at com.abc.xyz.ContinentActivity$LoadQuestions.doInBackground(ContinentActivity.java:1) 11-13 15:02:52.337: E/AndroidRuntime(8012): at android.os.AsyncTask$2.call(AsyncTask.java:287) 11-13 15:02:52.337: E/AndroidRuntime(8012): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
- Cómo saber cuándo finaliza una llamada de Retrofit
- KSOAP2 java.lang.RuntimeException: No se puede serializar
- Cómo pasar String array a webservice usando ksoap2?
- Envío de XML a un servicio web en Android
- No se pueden llamar métodos de servicio web desde el emulador de proyectos android
- Analizando la respuesta ksoap2
- ¿Cómo puedo convertir los datos de InputStream en String en SOAP Webservices de Android
- Conectar con un emulador de Android a la localhost webservice
- Cómo manejar la conexión de red lenta en Java / Android
- Mejor manera de crear un servicio Web en Android
- Problema del API del cliente Jersey
- Cómo utilizar el tipo de llamada con EventBus
- Cómo sincronizar grandes listas entre cliente y servidor
Me encontré con este problema también, volver a conectar el WiFi puede resolver esto.
Para nosotros, podemos comprobar si el teléfono puede resolver el host a IP cuando iniciemos la aplicación. Si no puede resolver, dígale al usuario que compruebe el WiFi y luego salga.
Espero que ayude.
Tuve la misma excepción en el simulador (Android Studio en OSX), pero la conexión a la misma URL en el simulador de iOS funcionó bien … Parece que todo se derivó del hecho de que estaría ejecutando el simulador mientras está conectado a un hotspot personal Para mi conexión a internet y luego volví más tarde mientras estaba conectado a wifi y el simulador no le gustaba la nueva conexión a Internet por alguna razón, parece que pensaba que el antiguo hotspot era la conexión actual, que ya no funcionaba.
¡El cierre y el relanzamiento del simulador funcionaron!
Tengo el mismo error y el problema era que estaba en VPN y no me di cuenta. Después de desconectarme de la VPN y volver a conectarme a mi red WIFI, el problema se resolvió.
No se ha podido configurar la etiqueta en el archivo de manifiesto
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Si volver a conectar el WiFi no funciona para usted, intente reiniciar el dispositivo.
Esto funciona para mí. Espero eso ayude.
Encontré este error al ejecutar mi aplicación de Android en mi casa WiFi, a continuación, tratando de ejecutarlo en diferentes WiFi sin cerrar mi simulador.
Simplemente cerrar el simulador y volver a lanzar la aplicación funcionó para mí!
- Diseño lib – CoordinatorLayout / CollapsingToolbarLayout con GridView / listView
- Comprobación del lado del servidor de la compra de la versión 3 de facturación en aplicaciones de Google Play