Maison >Java >javaDidacticiel >Comment garantir que les en-têtes sont reçus dans les requêtes HttpURLConnection ?

Comment garantir que les en-têtes sont reçus dans les requêtes HttpURLConnection ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-16 21:05:03171parcourir

How to Ensure Headers Are Received in HttpURLConnection Requests?

Dépannage de l'ajout d'un en-tête dans HttpURLConnection

Lorsque vous tentez d'ajouter des en-têtes à une requête HttpURLConnection, la méthode setRequestProperty() peut ne pas toujours fonctionner comme prévu , ce qui fait que le serveur ne reçoit pas les en-têtes prévus.

Une solution potentielle, qui s'est avérée efficace dans les environnements TomCat, consiste à utiliser l'extrait de code suivant :

URL myURL = new URL(serviceURL);
HttpURLConnection myURLConnection = (HttpURLConnection)myURL.openConnection();

String userCredentials = "username:password";
String basicAuth = "Basic " + new String(Base64.getEncoder().encode(userCredentials.getBytes()));

myURLConnection.setRequestProperty ("Authorization", basicAuth);
// Adjust these properties based on request type (POST/GET) and other requirements
myURLConnection.setRequestMethod("POST");
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);

Ce code est spécifiquement conçu pour les requêtes POST, mais vous pouvez facilement le modifier pour GET ou d'autres types de requêtes si nécessaire. En appliquant ces mises à jour, vous devriez pouvoir ajouter avec succès des en-têtes à vos requêtes HttpURLConnection et vous assurer que le serveur reçoit les en-têtes attendus.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn