Maison >Java >javaDidacticiel >Comment envoyer des requêtes HTTP en Java à l'aide de HttpUrlConnection ?
Envoi de requêtes HTTP en Java
La possibilité d'envoyer des requêtes HTTP est essentielle pour interagir avec des serveurs distants et des API Web en Java. Une façon de composer et de transmettre des requêtes HTTP consiste à utiliser la classe java.net.HttpUrlConnection.
Création de la requête HTTP
Pour créer une requête HTTP, vous pouvez utiliser le étapes suivantes :
Envoi du HTTP Requête
Une fois la requête formulée, vous pouvez l'envoyer au serveur à l'aide d'un DataOutputStream :
Obtention de la réponse HTTP
Lors de l'envoi de la demande, vous pouvez obtenir la réponse du serveur :
Exemple d'extrait de code
Le code Java suivant montre comment envoyer une requête HTTP POST à l'aide de la classe HttpUrlConnection :
import java.net.HttpURLConnection; import java.net.URL; import java.io.DataOutputStream; import java.io.InputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class HttpPostExample { public static void main(String[] args) { String targetURL = "https://example.com/api/endpoint"; String urlParameters = "key1=value1&key2=value2"; HttpURLConnection connection = null; try { URL url = new URL(targetURL); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); connection.setRequestProperty("Content-Length", Integer.toString(urlParameters.getBytes().length)); connection.setDoOutput(true); DataOutputStream wr = new DataOutputStream(connection.getOutputStream()); wr.writeBytes(urlParameters); wr.close(); InputStream is = connection.getInputStream(); BufferedReader rd = new BufferedReader(new InputStreamReader(is)); StringBuilder response = new StringBuilder(); String line; while ((line = rd.readLine()) != null) { response.append(line); response.append('\r'); } rd.close(); System.out.println(response.toString()); } catch (IOException e) { e.printStackTrace(); } finally { if (connection != null) { connection.disconnect(); } } } }
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!