2016-08-08 63 views
0

Der HTTP-Code des angegebenen Snippets am Ende dieses Posts ist 403. 403 bedeutet verboten. Aber ich greife darauf zu und poste es durch Google Chrome POSTman App. Ich kann das Problem in diesem Fall nicht lösen. Ich habe viele andere Lösungen versucht wie:Antwortcode des HttpUrlConnection-Headers ist 403

httpURLConnection.setRequestProperty ("Authorization", "Basic" + Header);

httpURLConnection.setRequestProperty ("ApiKey", "abcd1234");

HttpURLConnection httpURLConnection = (HttpURLConnection) (new URL ("http:abc.com")).openConnection(); 
      httpURLConnection.setDoOutput(true); 
      httpURLConnection.setRequestMethod("POST"); 
      httpURLConnection.setRequestProperty("Authorization",Header); 
      // Header = "ApiKey:abcd1234" ; 
      httpURLConnection.setRequestProperty("Content-Type","application/json"); 
+0

Siehe ** Retrofit ** (http://square.github.io/retrofit/) Bibliothek HTTP tun Sachen leicht in Android-Programmierung. Es spart viel Zeit. –

+0

wird die über Postbote übermittelte Arbeitsanfrage auf der Registerkarte "Netzwerk" der Chrome-Tools angezeigt? von dort sollten Sie in der Lage sein, die Struktur der Arbeitsanforderung zu sehen (und entweder die erwartete Struktur von dort herauszufinden, oder hier mit diesen zusätzlichen Details zurück zu posten) –

+0

Ja, aber ich habe jetzt nicht viel Zeit dafür. Ich werde in Zukunft mit Retrofit arbeiten. –

Antwort

0

BASIC Authentifizierungsdaten muss codiert werden baase64, so etwas wie

String encoded = Base64.encode(username+":"+password); connection.setRequestProperty("Authorization", "Basic "+encoded); 
+0

Nun .... in meinem Fall ..... statt BASIC ..... NEIN Autorisierungstyp funktioniert. Wie soll ich es dann schreiben? –

+0

Nun, wie von Jamey Graham vorgeschlagen, kann die Überprüfung des Postbotenantrags und der API-Anfrage helfen, das Problem zu lösen. – angcap

+0

Wie kann ich das überprüfen? Chrome-Netzwerk-Tool gibt nichts –