URLConnection est une classe abstraite qui possède deux sous-classes directes : HttpURLConnection et JarURLConnection. Une autre classe importante est URL. Habituellement, URL peut générer une instance d'URL pointant vers une adresse spécifique en passant un paramètre de type String au constructeur.
Chaque instance de HttpURLConnection peut être utilisée pour effectuer une seule requête, mais d'autres instances peuvent partager de manière transparente la connexion réseau sous-jacente au serveur HTTP. L’appel de la méthode close() sur InputStream ou OutputStream de HttpURLConnection après la requête libère les ressources réseau associées à cette instance, mais n’a aucun effet sur la connexion persistante partagée. Si la connexion persistante est inactive lorsque déconnecter() est appelé, le socket sous-jacent peut être fermé.
package com.newflypig.demo;/** * Utilisez la propre HttpURLConnection de jdk pour envoyer une requête POST à l'URL et afficher le résultat de la réponse * Les paramètres sont transmis à l'aide de flux et codés en dur dans le format de la chaîne "name=XXX" * / importer java.io.BufferedReader; importer java.io.DataOutputStream; importer java.io.InputStreamReader; importer java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;public class SendPostDemo { public static void main(String[] args) throws Exception{ String urlPath = new String("http://localhost: 8080/Test1/HelloWorld"); //Chaîne urlPath = nouveau String("http://localhost:8080/Test1/HelloWorld?name=DingDing".getBytes("UTF-8")); String param="name="+URLEncoder.encode("DingDing","UTF-8) "); //Établir l'URL de connexion url=new URL(urlPath); HttpURLConnection httpConn=(HttpURLConnection)url.openConnection(); //Définir les paramètres httpConn.setDoOutput(true); //Besoin de sortir httpConn.setDoInput(true); //Besoin de saisir httpConn.setUseCaches(false); //Ne pas autoriser la mise en cache httpConn.setRequestMethod("POST"); //Définir la connexion POST //Définir les propriétés de la requête httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); httpConn.setRequestProperty("Connection", "Keep-Alive");//Maintenir une longue connexion httpConn.setRequestProperty("Charset", "UTF-8"); //Connect, vous pouvez également utiliser le httpConn suivant sans texte clair connect.getOutputStream() se connectera automatiquement httpConn.connect(); //Établira un flux d'entrée et transmettra le paramètre DataOutputStream dos=new à l'URL pointée. DataOutputStream(httpConn.getOutputStream()); dos.writeBytes(param); dos.flush(); //Obtenir l'état de la réponse int resultCode=httpConn.getResponseCode(); resultCode ){ StringBuffer sb=new StringBuffer(); String readLine=new String(); BufferedReader réponseReader=new BufferedReader(new InputStreamReader(httpConn.getInputStream(),"UTF-8")); while((readLine=responseReader.readLine())!=null){ sb.append(readLine).append("/ n"); } réponseReader.close(); System.out.println(sb.toString()); } }}
JAVA utilise HttpURLConnection pour envoyer des données POST sous la forme d'un flux OutputStream.
Lors du processus d'encodage spécifique, les paramètres sont envoyés sous la forme de la chaîne "name=XXX"
Le contenu ci-dessus est entièrement décrit dans cet article. J'espère que cette introduction sera utile à tout le monde.