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
- Forzar Android a utilizar la red Wifi sin Internet
- Emulador de Android: sin conexión a Internet
- ¿Cómo conecta su terminal con el emulador de Android?
- OSMDroid Carga de azulejos fuera de línea personalizados de la carpeta de activos
- cómo determinar si una conexión a Internet está actualmente disponible y activa en un dispositivo android?
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?
- No se puede conectar al servidor Firebird desde android
- Android - ¿Cómo comprobar el acceso a Internet, no sólo la conectividad a wifi?
- Android: Compruebe que la red 3G o Wifi está ACTIVADA o Disponible o no en Android Dispositivo
- ¿Error al enviar archivos a través de bluetooth en android?
- ¿Cuándo cerrar la conexión db en android? Cada vez que finaliza tu operación o después de salir de la aplicación
- Problema de conexión a Internet lenta en android
- Compruebe la conexión a Internet en ANDROID
- Uso de BluetoothChat para comunicarse con ELM327
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
- Cómo agregar una casilla de verificación a un cuadro de diálogo de alerta
- Probar la base de datos en Android: ProviderTestCase2 o RenamingDelegatingContext?