Android HTTP Connection refused

2019-01-14 20:59发布

问题:

I am trying to access from an Android device over WiFi a local web server which I can access from my laptop either on the browser, or using curl. I can also access the server on the android device browser.

The code I am using to access the server yields a "connection refused" exception.

This is the code:

public void getController1() {
  HttpClient httpclient = new DefaultHttpClient();
  HttpGet httpget = new HttpGet("http://192.168.1.169:8000");
  HttpResponse response = null;
  System.out.println(httpget.toString());
  try {
    response= httpclient.execute(httpget);
    txtViewStatus.setText("Controller 1 - OK"+response);
  } catch(Exception e) {
    e.printStackTrace();
    txtViewStatus.setText("Controller 1 - Error"+e);
  }
}

回答1:

Problem solved. The issue was a corrupted manifest file. I deleted the permission lines and re-typed them in and now the problem is gone



回答2:

I was missing permission; you should check manifest file

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
 <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>    
 <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />


回答3:

Check your internet connection strength.

For my case the network connection is low so this error thrown.



回答4:

Past this to your manifest file:

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


回答5:

Can it be because you're using a proxy? The proxy issue is discussed in Android HttpClient Doesn't Use System Proxy Settings (see the answer by CommonsWare).



回答6:

you should enable pc suite in android device :

1: set http url in android app e.g ("http://192.168.1.100:81/api/droid/getdata")
laptop or pc wifi ip is (192.168.1.100)
2: connect android device to pc or laptop in usb port
3: goto this setting in android device setting -> more -> Tethering and portable hotspot -> pc suite(HiSuite)
4: run android app

this work good



标签: android http