Socket 클래스를 이용한 POST 전송 방법[ 편집자 : Blueⓘ ]
2010년 06월 08일 오전 10시 37분 태그 : , , / 조회수 : 575

Java » net » Sockets

참조 : URL 클래스를 이용한 POST 전송 방법

java.net의 Socket 클래스를 이용하여 POST를 전송하는 예제입니다. JAVA에서의 POST 전송방법은 Socket을 이용한 방법 이외에 URL을 이용하여 POST 전송도 가능 합니다.

try {
    // Construct data
    String data = URLEncoder.encode("key1", "UTF-8") + "=" + URLEncoder.encode("value1", "UTF-8");
    data += "&" + URLEncoder.encode("key2", "UTF-8") + "=" + URLEncoder.encode("value2", "UTF-8");
 
    // Create a socket to the host
    String hostname = "hostname.com";
    int port = 80;
    InetAddress addr = InetAddress.getByName(hostname);
    Socket socket = new Socket(addr, port);
 
    // Send header
    String path = "/servlet/SomeServlet";
    BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF8"));
    wr.write("POST "+path+" HTTP/1.0\r\n");
    wr.write("Content-Length: "+data.length()+"\r\n");
    wr.write("Content-Type: application/x-www-form-urlencoded\r\n");
    wr.write("\r\n");
 
    // Send data
    wr.write(data);
    wr.flush();
 
    // Get response
    BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    String line;
    while ((line = rd.readLine()) != null) {
        // Process line...
    }
    wr.close();
    rd.close();
}
catch (Exception e) {
}

이 글이 도움이 않되셨더라도 왼쪽 아래에 있는 손 모양의 추천을 눌러주세요...^^

엮인글 주소 : http://www.blueiblog.com/ko/archives/2576/trackback
  • 이 숫자를 스팸 방지키란에 입력하여 주세요.