Authentifizierungsfehler bei der Verwendung von HttpPost mit DefaultHttpClient auf Android

Ich in ein seltsames problem mit HttpClient. Ich bin mit einem DefaultHttpClient() mit HttpPost. Ich war mit HttpGet mit 100% Erfolg, aber jetzt versuchen zu wechseln HttpPost als der REST-API, die ich verwende, will POST-Parameter eher als BEKOMMEN. (Nur für einige API-Aufrufe, aber so weiß ich, dass die Anrufe waren in Ordnung arbeiten, so ist es nicht ein Fehler von der API).

Auch, ich habe versucht, mit HttpPost auf ein einfaches php-Skript, das ich schrieb, das sieht für einen POST-parameter 'var' und hallt es auf dem Bildschirm, übergeben Sie diese Parameter wie folgt geklappt:

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

    postMethod = new HttpPost("http://www.examplewebsite.com");

    nameValuePairs.add(new BasicNameValuePair("var", "lol"));

    try {
        postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        response = httpClient.execute(postMethod, responseHandler);
        Log.i("RESTMethod", response);
...

Das problem ist, dass, wenn ich versuchte, Sie und das gleiche tun, rufen Sie die API - (aber mit den params geändert werden, um den API-params natürlich), bekomme ich die folgende Fehlermeldung:

Authentication error: Unable to respond to any of these challenges: {}

Die Seite, ich bin fordert, ist eine HTTPS-Seite, könnte dies das problem sein?

Aber tun die gleiche Art von POST-Anforderung an eine rohe HTTP-Seite auf die API gibt den gleichen Fehler, es sei denn ich kommentiere die StringEntity Teil und dann läuft er (aber xml zurückgibt und ich möchte ein parameter übergeben zu verlangen, die Daten im JSON-Format).

Dies scheint wie ein wirklich eigenartiges problem (nicht-https-Teil), konnte aber nicht wirklich finden jede Hilfe zu diesem problem, also sorry, wenn die Antwort ist da draußen.

Irgendwelche Ideen?

Vielen Dank im Voraus,

Infinitifzz

EDIT: Okay, ich bin nirgends bekommen, so dass ich dachte, wenn ich leitete Sie an die API könnte es etwas Licht, es ist die 8Tracks-API und wie Sie sehen können, die Sie brauchen, um passieren eine dev-key (api_key) für alle Anforderungen und ich das Teil bin ich stecken auf https anmelden eines Benutzers mit: http://www.8tracks.com/sessions.xml" Teil.

Hoffe, das hilft irgendwie, weil ich bin am Ende einer Sackgasse.

Dank,

Infinitifizz

Sollte nicht Ihre url beginnt mit https. Dann, wenn es zu wird, https, wird es wahrscheinlich gesichert, die mit einem Zertifikat oder eine andere Authentifizierung challenge - wie in der Fehlermeldung angegeben.
Ich habe nur die url als Beispiel, aber ja, es sollte. Aber wie gesagt, ich versuchte, HttpPost, meine eigenen Skript, welches in Ordnung war und wenn ich versuchte, HttpPost eine nicht-https-Teil der api, wie in Ihrem Beispiel genannt, um eine http-Seite nicht https, ich bekam nur die Fehlermeldung, wenn ich an die nameValuePairs, wenn ich nicht ich habe nicht die Authentifizierung Fehler.
Können Sie uns zeigen Ihre HttpClient-Konstruktor?
Es ist nur HttpClient httpClient = new DefaultHttpClient(); Aber ich habe versucht, es für SSL mit dem code hier: thinkandroid.wordpress.com/2009/12/31/... Aber ich habe immer noch den gleichen Fehler.

InformationsquelleAutor Infiniti Fizz | 2011-05-24

Schreibe einen Kommentar