La classe URL en Java est un outil important qui nous permet d'effectuer des opérations URL courantes, telles que l'ouverture et la lecture de ressources réseau, l'envoi de requêtes réseau, etc. Dans cet article, nous expliquerons comment utiliser les classes d'URL en Java pour la manipulation d'URL.
La classe URL est une classe standard en Java pour la gestion des URL. URL signifie Uniform Resource Locator, qui est une chaîne qui pointe vers une ressource sur Internet. La classe URL fournit de nombreuses méthodes pour opérer sur les URL. Voici quelques opérations d'URL courantes :
Pour ouvrir une URL, vous pouvez utiliser la méthode openConnection() dans la classe URL. Cette méthode renvoie un objet URLConnection à partir duquel nous pouvons lire des données.
String urlString = "http://www.example.com"; URL url = new URL(urlString); URLConnection conn = url.openConnection();
Cet exemple ouvre une URL et renvoie un objet URLConnection. Nous pouvons maintenant utiliser l'objet URLConnection pour lire les données sur l'URL.
Pour lire des données sur une URL, vous pouvez utiliser le flux d'entrée sur l'objet URLConnection. Grâce à ce flux d'entrée, nous pouvons lire les données sur l'URL et les enregistrer dans une chaîne ou un tableau d'octets.
InputStream in = conn.getInputStream(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); int nRead; byte[] data = new byte[1024]; while ((nRead = in.read(data, 0, data.length)) != -1) { buffer.write(data, 0, nRead); } buffer.flush(); String result = new String(buffer.toByteArray());
Cet exemple ouvre une URL et lit les données qu'elle contient. Dans cet exemple, nous utilisons un flux d'entrée pour lire les données sur l'URL et enregistrer chaque octet dans un tableau d'octets. Une fois que nous avons lu toutes les données, nous convertissons ce tableau d'octets en chaîne.
Pour envoyer une requête GET à une URL, nous pouvons utiliser la méthode setRequestMethod() de l'objet URLConnection pour définir sa méthode de requête sur "GET". Nous pouvons ensuite utiliser le flux d'entrée pour lire les données comme ci-dessus.
String urlString = "http://www.example.com/getData?param1=value1¶m2=value2"; URL url = new URL(urlString); URLConnection conn = url.openConnection(); conn.setRequestMethod("GET"); InputStream in = conn.getInputStream(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); int nRead; byte[] data = new byte[1024]; while ((nRead = in.read(data, 0, data.length)) != -1) { buffer.write(data, 0, nRead); } buffer.flush(); String result = new String(buffer.toByteArray());
Cet exemple envoie une requête GET à une URL et lit les données qu'elle renvoie. Dans cet exemple, nous mettons la requête et les paramètres dans la chaîne URL.
Pour envoyer une requête POST à une URL, nous devons effectuer un travail supplémentaire. Nous devons construire un corps de requête POST et l'envoyer à l'URL. Pour créer le corps de la requête, nous pouvons utiliser le codage d'URL en Java.
String urlString = "http://www.example.com/postData"; URL url = new URL(urlString); URLConnection conn = url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("POST"); String data = "param1=" + URLEncoder.encode("value1", "UTF-8") + "¶m2=" + URLEncoder.encode("value2", "UTF-8"); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(data); writer.flush(); InputStream in = conn.getInputStream(); ByteArrayOutputStream buffer = new ByteArrayOutputStream(); int nRead; byte[] data2 = new byte[1024]; while ((nRead = in.read(data2, 0, data2.length)) != -1) { buffer.write(data2, 0, nRead); } buffer.flush(); String result = new String(buffer.toByteArray());
Cet exemple envoie une requête POST à une URL et lit les données qu'elle renvoie. Dans cet exemple, nous utilisons le codage d'URL en Java pour coder les paramètres dans le corps de la requête.
Résumé
Ci-dessus sont quelques méthodes de base pour utiliser la classe URL pour effectuer des opérations d'URL en Java. La classe URL est un outil très utile pour ouvrir et lire les ressources réseau et effectuer des requêtes réseau. Ces opérations sont très courantes. Si vous devez effectuer des travaux de développement et de programmation liés à Internet, vous utiliserez certainement ces opérations fréquemment dans vos travaux futurs.
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!