Hinzufügen von Headern zu HttpURLConnection-Anfragen
Beim Versuch, Header zu Ihren HttpURLConnection-Anfragen hinzuzufügen, kann es zu Situationen kommen, in denen der Server dies nicht bestätigt Header-Informationen. Wenn das Festlegen der Anforderungseigenschaft mit setRequestProperty() das Problem nicht löst, ziehen Sie die folgende Lösung in Betracht:
Lösung:
Um sicherzustellen, dass die Header richtig festgelegt sind, versuchen Sie es die folgenden Schritte:
Erstellen Sie eine neue Instanz von HttpURLConnection:
URL myURL = new URL(serviceURL); HttpURLConnection myURLConnection = (HttpURLConnection)myURL.openConnection();
Header-Wert vorbereiten:
String userCredentials = "username:password"; String basicAuth = "Basic " + new String(Base64.getEncoder().encode(userCredentials.getBytes()));
Einstellen die „Autorisierung“ Header:
myURLConnection.setRequestProperty ("Authorization", basicAuth);
Konfigurieren Sie die Verbindung:
myURLConnection.setRequestMethod("POST"); // Assuming a POST request myURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); myURLConnection.setRequestProperty("Content-Length", "" + postData.getBytes().length); myURLConnection.setRequestProperty("Content-Language", "en-US"); myURLConnection.setUseCaches(false); myURLConnection.setDoInput(true); myURLConnection.setDoOutput(true);
Dieser modifizierte Ansatz sollte sicherstellen dass der Header „Authorization“ korrekt zur Anfrage hinzugefügt wurde und vom Server empfangen werden sollte.
Das obige ist der detaillierte Inhalt vonWarum werden Header in meinen HttpURLConnection-Anfragen nicht erkannt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!