Org.apache.http.conn.HttpHostConnectException: Conexión a http: // localhost rechazada en android

Estoy haciendo una aplicación que carga imágenes al servidor y actualiza su base de datos al servidor en android mientras la ejecuta, muestra un error

Connection to http://localhost refused 

Y muchos más errores, he investigado este problema y se encontró en lugar de proporcionar la conexión de URL

 http://localhost/... provide the link as http://10.0.2.2/... 

Y lo hice, pero el problema es el mismo error más aquí:

 E/org.apache.http.conn.HttpHostConnectException(4318): Connection to http://localhost refused E/org.apache.http.conn.HttpHostConnectException(4318): org.apache.http.conn.HttpHostConnectException: Connection to http://localhost refused E/org.apache.http.conn.HttpHostConnectException(4318): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:183) E/org.apache.http.conn.HttpHostConnectException(4318): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) E/org.apache.http.conn.HttpHostConnectException(4318): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) E/org.apache.http.conn.HttpHostConnectException(4318): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360) E/org.apache.http.conn.HttpHostConnectException(4318): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) E/org.apache.http.conn.HttpHostConnectException(4318): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) E/org.apache.http.conn.HttpHostConnectException(4318): at com.example.android.photobyintent.ViewRecipients.uploadFile(ViewRecipients.java:325) E/org.apache.http.conn.HttpHostConnectException(4318): at com.example.android.photobyintent.ViewRecipients$1.run(ViewRecipients.java:238) E/org.apache.http.conn.HttpHostConnectException(4318): at java.lang.Thread.run(Thread.java:856) E/org.apache.http.conn.HttpHostConnectException(4318): Caused by: java.net.ConnectException: failed to connect to /127.0.0.1 (port 80): connect failed: ECONNREFUSED (Connection refused) E/org.apache.http.conn.HttpHostConnectException(4318): at libcore.io.IoBridge.connect(IoBridge.java:114) E/org.apache.http.conn.HttpHostConnectException(4318): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192) E/org.apache.http.conn.HttpHostConnectException(4318): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459) E/org.apache.http.conn.HttpHostConnectException(4318): at java.net.Socket.connect(Socket.java:842) E/org.apache.http.conn.HttpHostConnectException(4318): at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119) E/org.apache.http.conn.HttpHostConnectException(4318): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:144) E/org.apache.http.conn.HttpHostConnectException(4318): ... 8 more E/org.apache.http.conn.HttpHostConnectException(4318): Caused by: libcore.io.ErrnoException: connect failed: ECONNREFUSED (Connection refused) E/org.apache.http.conn.HttpHostConnectException(4318): at libcore.io.Posix.connect(Native Method) E/org.apache.http.conn.HttpHostConnectException(4318): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:85) E/org.apache.http.conn.HttpHostConnectException(4318): at libcore.io.IoBridge.connectErrno(IoBridge.java:127) E/org.apache.http.conn.HttpHostConnectException(4318): at libcore.io.IoBridge.connect(IoBridge.java:112) E/org.apache.http.conn.HttpHostConnectException(4318): ... 13 more 

El código para la carga de archivos es:

 public int uploadFile(ArrayList<String> sourceFileUri, String info, String latitude, String longitude, String id) throws IOException { try { HttpClient httpClient = new DefaultHttpClient(); HttpContext localContext = new BasicHttpContext(); HttpPost httpPost = new HttpPost("http://10.0.2.2/deliverysystem/order/add"); MultipartEntity entity = new MultipartEntity( HttpMultipartMode.BROWSER_COMPATIBLE); entity.addPart("returnformat", new StringBody("json")); System.out.println(sourceFileUri.size()); for(int i=0;i<sourceFileUri.size();i++){ String sourceFile = sourceFileUri.get(i); entity.addPart("uploaded_file"+(i+1), new FileBody(new File(sourceFile))); } entity.addPart("fld_delivery_id", new StringBody(id)); entity.addPart("fld_delivery_location", new StringBody(info)); entity.addPart("fld_latitude", new StringBody(latitude)); entity.addPart("fld_longitude", new StringBody(longitude)); httpPost.setEntity(entity); HttpResponse response = httpClient.execute(httpPost, localContext); BufferedReader reader = new BufferedReader( new InputStreamReader( response.getEntity().getContent(), "UTF-8")); String sResponse = reader.readLine(); return 1; } catch (Exception e) { if (dialog.isShowing()) dialog.dismiss(); Log.e(e.getClass().getName(), e.getMessage(), e); return 1; } } 

Mientras que la depuración del código alcanza hasta:

 httpPost.setEntity(entity); 

Y muestra la excepción después de esta línea, es decir, en esta declaración:

 HttpResponse response = httpClient.execute(httpPost, localContext); 

¿Podría alguien ayudarme en esto?

Si está utilizando el emulador para ejecutar su aplicación para el servidor local. Mencionar la ip local como 10.0.2.2 y tener que dar permiso de Internet a su aplicación:

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

<uses-permission android:name="android.permission.INTERNET"/> agrega esta etiqueta arriba a AndroidManifest.xml de tu proyecto de Android, y estará bien.

 http://localhost 

El host anterior ya está ocupado por el emulador en el que está ejecutando el código. Si desea acceder al host local de su equipo, utilice la dirección IP como http://10.0.2.2:8080/ .

Para obtener más detalles, consulte este enlace .

Yo estaba enfrentando exactamente el mismo problema y he hecho los siguientes cambios a mi URL después de lo cual estaba funcionando perfectamente bien ..

De:

 http://localhost/Image4android/get_all_images.php 

A:

 http://192.168.1.2/Image4android/get_all_images.php where the ip: 192.168.1.2 is IPv4 address. In windows Run > CMD > Ipconfig 

Intente agregar el permiso fuera de la etiqueta de aplicación del manifiesto, además de las respuestas mencionadas anteriormente de cambiar localhost a 10.0.2.2:8080

Para el uso del servidor 10.0.2.2 para el host local, por ejemplo, 10.0.2.2/phpMyAdmin

Y para el uso de tomcat 10.0.2.2:8080/server

Cuando pruebe con el dispositivo que desea agregar la dirección IP de su PC.

En pc ejecutar en cmd Ipconfig

En ubuntu ejecutar terminal ifconfig

A continuación, utilice "http://your_pc_ip_address:8080/register" insted de usar "http://10.0.2.2:8080/register"

 in my pc = 192.168.1.3 

Y también añadir permiso de Internet para Manifest

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

Compruebe que está ejecutando el dispositivo android en la misma red. Esto solucionará el problema. ¡¡¡que te diviertas!!!

Estoy utilizando PHP para webservice y Android 4.x. Dispositivo para la conexión al servicio web. Tuve el problema similar donde, utilizando 10.0.2.2 funcionó bien con el emulador, pero no se pudo conectar desde el dispositivo. La solución que funcionó para mí es: Buscar IP de su computadora … diga 192.168.0.103 Encuentra el puerto de su apache … diga 8080 Ahora abra httpd.conf y busque la siguiente línea Escuche 127.0.0.1:8080 Después de esta línea agregue Siguiente Escuchar 192.168.0.103:8080 Thats it. ¡Ahora si usted utiliza 192.168.0.103:8080 en su código androide, conectará !!

Tuve el problema similar, entonces descubrí que el wifi no estaba conectado en mi teléfono inteligente. Después de encender el wifi y conectado a la red similar (con mi portátil), había otro problema – firewall de la computadora portátil estaba bloqueando las conexiones entrantes. Una vez que arreglé el firewall, pude comunicarme desde mi aplicación Android con el servicio web que se ejecuta en la computadora portátil.

Una de las cosas básicas y simples que conduce a este error es: No hay conexión a Internet

Encienda primero la conexión a Internet de su dispositivo.

(Puede ser que nos olvidemos de hacerlo)

Dos soluciones para este error:

1. agrega este permiso en androidManifest.xml de tu proyecto de Android

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

2. Encienda primero la conexión a Internet de su dispositivo.

Utilice 127.0.0.1 lugar de localhost

  • Android Compruebe si hay WiFi pero no Internet
  • Crear configuración de punto de acceso Wifi en android
  • Android: determina de forma progama la lista de aplicaciones que tienen una conexión TCP abierta
  • Cómo hacer que dos dispositivos Android se comuniquen a través de TCP
  • Obtener la lista de todos los usuarios conectados mediante wifi tethering en android
  • Hacer Android BLE (Bluetooth LE) de forma estable
  • Obtener dispositivos no conectados, cuando mi dispositivo está en modo de conexión
  • Bluetooth seguro vs. inseguro
  • Obtener la intensidad de la señal de WIFI y datos móviles
  • Cómo forzar una conexión a un dispositivo a2dp bluetooth por una actividad o servicio
  • Conexión WiFi de Android mediante programación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.