URLConnection은 HttpURLConnection과 JarURLConnection이라는 두 개의 직접적인 하위 클래스가 있는 추상 클래스입니다. 또 다른 중요한 클래스는 URL입니다. 일반적으로 URL은 문자열 유형 매개변수를 생성자에 전달하여 특정 주소를 가리키는 URL 인스턴스를 생성할 수 있습니다.
각 HttpURLConnection 인스턴스는 단일 요청을 만드는 데 사용될 수 있지만 다른 인스턴스는 HTTP 서버에 대한 기본 네트워크 연결을 투명하게 공유할 수 있습니다. 요청 후 HttpURLConnection의 InputStream 또는 OutputStream에서 close() 메서드를 호출하면 이 인스턴스와 연결된 네트워크 리소스가 해제되지만 공유 영구 연결에는 영향을 미치지 않습니다. connect()가 호출될 때 영구 연결이 유휴 상태이면 기본 소켓이 닫힐 수 있습니다.
package com.newflypig.demo;/** * jdk와 함께 제공되는 HttpURLConnection을 사용하여 URL에 POST 요청을 보내고 응답 결과를 출력합니다. * 매개변수는 스트림을 사용하여 전달되며 문자열 "name" 형식으로 하드 코딩됩니다. =XXX" */import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.InputStreamReader;import 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"); //문자열 urlPath = new 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.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.flush(); dos.close(); //응답 상태 가져오기 int resultCode=httpConn.getResponseCode(); resultCode ){ StringBuffer sb=new StringBuffer(); String readLine=new String(); BufferedReader responseReader=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" 문자열 형식으로 전송됩니다.
위의 내용은 이 글에 모두 설명되어 있습니다. 이 소개가 모든 사람에게 도움이 되기를 바랍니다.