Ajout d'en-têtes aux requêtes HttpURLConnection
Lorsque vous essayez d'ajouter des en-têtes à vos requêtes HttpURLConnection, vous pouvez rencontrer des situations dans lesquelles le serveur ne parvient pas à reconnaître le informations d'en-tête. Si la définition de la propriété de requête à l'aide de setRequestProperty() ne résout pas le problème, envisagez la solution suivante :
Solution :
Pour vous assurer que les en-têtes sont correctement définis, essayez les étapes suivantes :
Créer une nouvelle instance de HttpURLConnection :
URL myURL = new URL(serviceURL); HttpURLConnection myURLConnection = (HttpURLConnection)myURL.openConnection();
Préparer la valeur d'en-tête :
String userCredentials = "username:password"; String basicAuth = "Basic " + new String(Base64.getEncoder().encode(userCredentials.getBytes()));
Définir l'"Autorisation" header :
myURLConnection.setRequestProperty ("Authorization", basicAuth);
Configurer la connexion :
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);
Cette approche modifiée devrait garantir que l'en-tête "Autorisation" est correctement ajouté à la requête et doit être reçu par le serveur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!