HttpURLConnection senden header authorization
Ich bin kämpfen, um erfolgreich senden Sie GET-Anforderungen mit einem authorization-header mit HttpURLConnection. Fehlercode 400 zurückgeliefert.
Bin ich erfolgreich mit OKHttpClient aber gebeten, nicht auf irgendwelche Abhängigkeiten.
Hier ist mein code:
public static String GETReqUserProfiles() throws IOException {
URL url = new URL(UrlString);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setDoOutput(true);
urlConnection.setRequestMethod("GET");
urlConnection.setRequestProperty("Content-Type", "application/" + "json");
urlConnection.setRequestProperty("authorization", "Bearer " + MANAGEMENT_TOKEN);
urlConnection.connect();
if (urlConnection.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ urlConnection.getResponseCode());
}
String assembledOutput = "";
BufferedReader responseBuffer = new BufferedReader(new InputStreamReader(
(urlConnection.getInputStream())));
String output;
System.out.println("Output from Server:\n");
while ((output = responseBuffer.readLine()) != null) {
System.out.println(output);
assembledOutput = assembledOutput + output;
}
urlConnection.disconnect();
return assembledOutput;
}
EDIT:
Alles funktioniert -
Das problem war:
urlConnection.setDoOutput(true);
setDoOutput(true) : erklärt das senden eines Körpers mit der Anfrage. GET-Anfragen nicht verlangen, einen Körper, so kann es auf false gesetzt oder auskommentiert. Statt das ist für die POST, PATCH, SETZEN etc... (Anfragen, die erfordern, dass der Körper).
Beachten Sie auch:
urlConnection.setRequestMethod("GET");
Müssen nicht speziell deklariert werden, wenn das senden einer GET-Anfrage (obwohl ich Links in den code für die Lesbarkeit)
Ich vermute, dass, wenn Sie setDoOutput(true) und kein Antrag angegebene Methode, wäre die Methode standardmäßig eine POST-Anfrage.
Hallo Abhay, danke, ich inclucded das verbinden und noch gibt 400 🙁
InformationsquelleAutor ccdle12 | 2017-04-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entwickelt ich eine Bibliothek dafür kann man es verwenden.
https://github.com/kksingla/fetchjson
Können Sie code anzeigen hier, wenn Sie nicht wollen, um die Abhängigkeit
Hi Kushaal ich durch Lesen des source-Codes, ist es hilfreich und ähnlich, aber es scheint nicht, um dieses spezielle problem. Speziell, ob ich füge den authorization-header richtig (ich bin versucht, eine Verbindung zu auth0, und ich bin erfolgreich mit OKHttpClient) Irgendwelche Gedanken auf, warum eine 400-Fehler vielleicht zurückgegeben?
Bitte überprüfen Sie Ihren Kopf, weil 400 ist für Bad request bedeutet: Sie setzen einige falsche Daten( key-normalerweise).
Broken link. Auf einem separaten Hinweis, die Welt hat bereits genug von HTTP-clients.
InformationsquelleAutor Kushaal Singla