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);
}
}
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
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" />
Vérifiez la force de votre connexion Internet.
Pour mon cas, la connexion réseau est faible, donc cette erreur est renvoyée.
Passé ceci à votre fichier manifeste:
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
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).
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