web-dev-qa-db-fra.com

Connexion HTTP Android refusée

J'essaie d'accéder à un serveur Web local depuis un périphérique Android via WiFi. Je peux accéder à mon ordinateur portable depuis le navigateur ou à l'aide de curl. Je peux également accéder au serveur sur le navigateur de l'appareil Android. 

Le code que j'utilise pour accéder au serveur génère un "connexion refusée" exception.

C'est le 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);
  }
}
24
Tori

Problème résolu. Le problème était un fichier manifeste corrompu. J'ai supprimé les lignes d'autorisation et les ai retapées et maintenant le problème est parti

25
Tori

Il me manquait la permission; vous devriez vérifier le fichier manifeste 

 <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" />
8
star18bit

Vérifiez la force de votre connexion Internet.

Pour mon cas, la connexion réseau est faible, donc cette erreur est renvoyée. 

4
Sampath Kumar

Passé ceci à votre fichier manifeste: 

<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
3
kaub0st3r

Cela peut-il être dû au fait que vous utilisez un proxy? La question du proxy est traitée dans Android HttpClient n'utilise pas les paramètres du proxy système (voir la réponse de CommonsWare).

1
Alexander Kulyakhtin

vous devez activer pc suite sur un appareil Android:

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

ça marche bien

0
HamidReza