webentwicklung-frage-antwort-db.com.de

Android-HTTP-Verbindung abgelehnt

Ich versuche, von einem Android-Gerät über WLAN auf einen lokalen Webserver zuzugreifen, auf den ich von meinem Laptop aus entweder über den Browser oder über Curl zugreifen kann. Ich kann auch über den Browser des Android-Geräts auf den Server zugreifen. 

Der Code, den ich für den Zugriff auf den Server verwende, führt zu einer "Verbindung abgelehnt" Ausnahme.

Dies ist der 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

Problem gelöst. Das Problem war eine beschädigte Manifestdatei. Ich habe die Erlaubniszeilen gelöscht und sie erneut eingegeben. Jetzt ist das Problem weg

25
Tori

Mir fehlte die Erlaubnis; Sie sollten die Manifestdatei überprüfen 

 <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

Überprüfen Sie die Internetverbindungsstärke.

In meinem Fall ist die Netzwerkverbindung niedrig, so dass dieser Fehler ausgelöst wird. 

4
Sampath Kumar

Fügen Sie dies Ihrer Manifestdatei hinzu: 

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

Kann es sein, dass Sie einen Proxy verwenden? Das Proxy-Problem wird in Android HttpClient verwendet keine System-Proxy-Einstellungen beschrieben (siehe Antwort von CommonsWare).

sie sollten die PC-Suite auf einem Android-Gerät aktivieren:

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

das funktioniert gut

0
HamidReza