1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

[Gelöst] Android und HTTPS Request

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Javacode, 30.03.2011.

  1. Javacode, 30.03.2011 #1
    Javacode

    Javacode Threadstarter Neuer Benutzer

    Beiträge:
    14
    Erhaltene Danke:
    0
    Registriert seit:
    29.03.2011
    Hi, hat vielleicht jemand einen fertiges Code-Schnipsel für HTTPS Requests von Android aus zu einem WebService??

    Über normal HTTP läuft es bei mir sobald ich es versuche über HTTPS zu machen passiert nix mehr.

    Grüße,
    Javacode
     
  2. Javacode, 30.03.2011 #2
    Javacode

    Javacode Threadstarter Neuer Benutzer

    Beiträge:
    14
    Erhaltene Danke:
    0
    Registriert seit:
    29.03.2011
    Wie funktioniert ein HTTPS Request in Android???

    Ich hab folgendes ausprobiert:
    public static String loginHTTPBasic(String username, String password){

    AndroidWebserviceRequests client =
    new AndroidWebserviceRequests("http://10.0.2.2:8030/mediaListService/login");
    String credentials = Base64.encodeBytes((username+":"+password).getBytes());
    client.AddHeader("Authorization", "Basic "+credentials);
    try {
    client.Execute(RequestMethod.GET);
    } catch (Exception e) {
    e.printStackTrace();
    }
    String response = client.getResponse();
    return response;
    }

    so funktioniert es.

    Wenn ich jetz aber http durch https ersetze und den port auf 8443 setze dann geht der GET Request nicht mal aus der App raus.

    Grüße, Javacode
     
  3. VinoRosso, 31.03.2011 #3
    VinoRosso

    VinoRosso Android-Hilfe.de Mitglied

    Beiträge:
    119
    Erhaltene Danke:
    24
    Registriert seit:
    26.03.2010
    Also ich benutze den Deafulthttpclient und mach damit auch anfragen an google über https, funktioniert ohne probleme.

    dem isses egal ob https oder http.


    MFG VIno
     
  4. garak, 31.03.2011 #4
    garak

    garak Ehrenmitglied

    Beiträge:
    8,270
    Erhaltene Danke:
    4,796
    Registriert seit:
    12.12.2009
    Versuche es mal damit:
    Code:
    SchemeRegistry schemeRegistry = new SchemeRegistry();
    schemeRegistry.register(new Scheme("https", 
                SSLSocketFactory.getSocketFactory(), 8443));
    
    HttpParams params = new BasicHttpParams();
    
    SingleClientConnManager scm = new SingleClientConnManager(params, schemeRegistry);
    
    HttpClient client = new DefaultHttpClient(scm, params);
    
    
     
  5. Javacode, 31.03.2011 #5
    Javacode

    Javacode Threadstarter Neuer Benutzer

    Beiträge:
    14
    Erhaltene Danke:
    0
    Registriert seit:
    29.03.2011
    Glaub ich dir gern das das über DefaultHttpClient geht, doch nich beit self certificated server zertifikaten

    Problem gelöst, man muss das Trauen allen Zertifikaten einstellen.

    Danach gibts keine Probleme.

    @ garak habs so schon versucht doch nur über die Schemeregistry geht es nicht.
     
  6. DieGoldeneMitte, 31.03.2011 #6
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Dann kann man https aber im Prinzip auch fast sein lassen.
     

Diese Seite empfehlen