2012-03-30 6 views
0

Ich bin im Grunde den folgenden Befehl zu tunAusführen einer POST-Anfrage in Android

meine App zu bekommen versuchen, curl -i -X ​​POST -d "user = USER & pass = PASS" https://websitehere.com

Aber ich verstehe nicht die Lösungen, die ich bisher gefunden habe. Wenn ich eine HttpPost verwenden, um NameValuePairs zu posten, was sollten diese sein?

Ich bekomme auch eine IOException mit der Information ssl-certificate-not-trusted-Fehler, wenn die httpclient.execute (httppost); Befehl ist erledigt.

public void postData(String userString, String passString) { 

     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost("https://websitegoeshere.com"); 
     try { 
      // Add your data 
      List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
      nameValuePairs.add(new BasicNameValuePair("user", userString)); 
      nameValuePairs.add(new BasicNameValuePair("pass", passString)); 
      httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8)); 


      response = httpclient.execute(httppost); 



     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 
     } catch (IOException e) {    
      e.printStackTrace(); 
     } 
    } 
+0

Ihr Zertifikat ist nicht gültig. Testen Sie es hier: https://www.digicert.com/help/index.htm – blindstuff

+0

Die Website, die Sie verknüpften, sagte, es sei gültig. – Corith

+0

Einige Zertifikate sind nicht von Androiden gemocht, weil obwohl gültig, einige Zwischenzertifikate fehlen, sprechen Sie mit Ihrem Cert-Anbieter. – blindstuff

Antwort

1

Wenn Sie die SSL-Zertifikat Fehler zu ignorieren, weil Sie der Website tun vertrauen, müssen Sie Ihre eigenen TrustManager schaffen, die alle Zertifikaten vertrauen.

Siehe: HTTPS and self-signed certificate issue

+0

Danke für Ihre Antwort. Der Eigentümer der Website behauptet, eine gültige und arbeiten, könnte ich etwas falsch machen? – Corith

0

Vielleicht versuchen, dies zu authentifizieren bedeutet:

HttpPost post = new HttpPost("https://websitegoeshere.com"); 
try { 
    UsernamePasswordCredentials creds = new UsernamePasswordCredentials(username, password); 
    post.addHeader(new BasicScheme().authenticate(creds, post)); 
} catch (AuthenticationException e) { 
    // Handle Exception 
} 
+0

Hat nicht funktioniert, danke fürs ausprobieren. – Corith

Verwandte Themen