Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

org.apache.http.conn.HttpHostConnectException: Connection to http://localhost refused in android

I am making an application that uploads images to server and updates its database to server in android while executing it, it shows an error

Connection to http://localhost refused  

and many more errors, I researched this problem and found instead of providing the URL connection

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

and I did so but the problem is same more error is here:

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 

the code for file upload is:

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;         }         } 

while debugging the code reaches up to:

httpPost.setEntity(entity); 

and it shows exception after this line ie on this statement:

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

Could any one help me on this?

like image 765
ugene Avatar asked Dec 31 '12 08:12

ugene


2 Answers

if you are using emulator to run your app for local server. mention the local ipas 10.0.2.2 and have to give Internet permission into your app :

<uses-permission  android:name="android.permission.INTERNET" /> 
like image 60
Saravana Kumar Chinnaraj Avatar answered Oct 10 '22 18:10

Saravana Kumar Chinnaraj


<uses-permission android:name="android.permission.INTERNET"/> add this tag above into AndroidManifest.xml of your Android project ,and it will be ok.

like image 36
Jeffery Yuan Avatar answered Oct 10 '22 17:10

Jeffery Yuan