Composition et envoi de requêtes HTTP en Java
Pour exploiter la puissance des requêtes HTTP en Java, vous pouvez utiliser java.net.HttpUrlConnection classe. Il fournit une API complète pour créer et envoyer des requêtes HTTP à n'importe quel serveur Web.
Création de la connexion
Pour établir la connexion, vous allez créer un objet URL et utilisez-le pour établir une connexion HttpUrlConnection. Spécifiez la méthode de requête (par exemple, POST, GET) et définissez les en-têtes nécessaires, tels que Content-Type et Content-Length.
Préparation de la requête HTTP
Pour un Requête POST, formatez les paramètres de la requête sous forme de chaîne de requête (par exemple, "name=John&age=30"). Utilisez DataOutputStream pour écrire les paramètres dans le flux de sortie.
Envoi de la demande
Une fois la demande prête, envoyez-la en utilisant DataOutputStream.writeBytes() pour transmettre le corps de la demande. Le serveur Web répondra avec la ressource demandée.
Réception de la réponse
InputStream est utilisé pour récupérer la réponse du serveur. Utilisez BufferedReader pour lire la réponse ligne par ligne et construire le corps de la réponse finale.
Exemple de code
Voici un extrait de code qui montre comment exécuter une requête HTTP POST à l'aide les techniques susmentionnées :
import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.io.OutputStreamWriter; import java.io.IOException; public static void sendHttpRequest() throws IOException { // Create the connection URL url = new URL("http://example.com/"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoOutput(true); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // Build the request parameters String postData = URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode("John", "UTF-8"); // Send the request OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream()); writer.write(postData); writer.flush(); // Get the response int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } reader.close(); } connection.disconnect(); }
En suivant ces étapes et en utilisant la classe HttpUrlConnection, vous pouvez composez et transmettez sans effort des requêtes HTTP dans vos applications Java.
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!