URLConnection — это абстрактный класс, который имеет два прямых подкласса: HttpURLConnection и JarURLConnection. Другим важным классом является URL. Обычно URL может генерировать экземпляр URL, указывающий на определенный адрес, передавая конструктору параметр типа String.
Каждый экземпляр HttpURLConnection можно использовать для выполнения одного запроса, но другие экземпляры могут прозрачно использовать базовое сетевое соединение с HTTP-сервером. Вызов метода close() для входного потока или выходного потока HttpURLConnection после запроса освобождает сетевые ресурсы, связанные с этим экземпляром, но не влияет на общее постоянное соединение. Если постоянное соединение простаивает при вызове метода Disconnect(), базовый сокет может быть закрыт.
package com.newflypig.demo;/** * Используйте собственный HttpURLConnection jdk для отправки POST-запроса на URL-адрес и вывода результата ответа * Параметры передаются с использованием потоков и жестко запрограммированы в формате строки «name=XXX» * /импорт java.io.BufferedReader;импорт java.io.DataOutputStream;импорт java.io.InputStreamReader;импорт java.net.HttpURLConnection;импорт java.net.URL;импорт java.net.URLEncoder;публичный класс SendPostDemo { public static void main(String[] args) выдает исключение {String urlPath = new String("http://localhost: 8080/Test1/HelloWorld"); //Строка urlPath = новая String("http://localhost:8080/Test1/HelloWorld?name=DingDing".getBytes("UTF-8")); String param="name="+URLEncoder.encode("DingDing","UTF-8); "); //Установим URL-адрес соединения url=new URL(urlPath); HttpURLConnection httpConn=(HttpURLConnection)url.openConnection(); //Установим параметры httpConn.setDoOutput(true); //Необходимо вывести httpConn.setDoInput(true); //Необходимо ввести httpConn.setUseCaches(false); //Не разрешать кэширование httpConn.setRequestMethod("POST"); //Установить POST-соединение //Установить свойства запроса httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); httpConn.setRequestProperty("Connection", "Keep-Alive");//Поддержание длительного соединения httpConn.setRequestProperty("Charset", "UTF-8"); //Подключение, вы также можете использовать следующий httpConn без открытого текста; Connect. getOutputStream() автоматически подключит httpConn.connect(); //Установим входной поток и передадим параметр DataOutputStream dos=new в указанный URL-адрес. DataOutputStream(httpConn.getOutputStream()); dos.writeBytes(param); dos.flush(); dos.close(); //Получаем статус ответа int resultCode=httpConn.getResponseCode(); if(HttpURLConnection.HTTP_OK== resultCode) { StringBuffer sb = новая StringBuffer () String readLine = новая строка (); BufferedReaderResponseReader=new BufferedReader(new InputStreamReader(httpConn.getInputStream(),"UTF-8")); while((readLine=responseReader.readLine())!=null){ sb.append(readLine).append("/ n"); } responseReader.close(); System.out.println(sb.toString()); } }}
JAVA использует HttpURLConnection для отправки данных POST в форме потока OutputStream.
Во время конкретного процесса кодирования параметры передаются в виде строки «name=XXX».
Все вышеперечисленное описано в этой статье. Надеюсь, это введение будет полезно всем.