본문 바로가기

JAVA/Network

HttpURLConnection

package ex01_web;

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class Ex02_HttpURLConnection {

	public static void main(String[] args) {

		//접속할 주소
		String spec = "https://ssl.pstatic.net/melona/libs/1456/1456783/f24d4712cb2688092681_20230803123239648.jpg";
		
		//url 객체 선언
			URL url=null;
		//HttpURLConnection 객체 선언
			HttpURLConnection con =null;
			
			try {
				
				//url 객체 생성
				url= new URL(spec);
				
				//httpconnection 객체 생성 
				con=(HttpURLConnection)url.openConnection();
				/*
				 * http 응답코드
				 * 1. 200 : 정상
				 * 2. 4XX : 잘못된 요청 (클라이언트의 잘못된 요청)
				 * 3. 5XX : 서버 오류 (잘못된 개발 )
				 */
				
				//접속 여부 확인
				int responseCode=con.getResponseCode();
				System.out.println("접속여부:"+(responseCode==HttpURLConnection.HTTP_OK));
				//요청 헤더(User-Agent) : 무엇을 접속했는가?
				String userAgent=con.getRequestProperty("User-Agent");
				System.out.println("User-Agent:"+userAgent);
				//요청 헤더(Referer)    : 이전 주소가 무엇인가?
				String referer=con.getRequestProperty("Referer");
				System.out.println(referer);
				//컨텐트 타입					  : 어떤 타입인가?
				String contentType=con.getContentType();
				System.out.println("ContentType"+contentType);
				//컨텐트 크기  					: 크기가 얼마인가?
				int contentLength=con.getContentLength();
				System.out.println("Content-Length:"+contentLength);
				
				
				/*
				 * 요청 메소드
				 * 1. GET : 주소(URL)을 이용한 데이터 전송
				 * 2. POST: 본문(Body) 을 이용한 데이터 전송
				 */
				
				
				//요청 메소드: 어떤 방식으로 요청했는가?
				String requestMethod=con.getRequestMethod();
				System.out.println("RequestMethod:"+requestMethod);
				
				//접속 해제
				
				con.disconnect();
				
			} catch (MalformedURLException e) {
				System.out.println("접속주소 오류");
			}catch (IOException e) {
				System.out.println("접속 오류");
			}
		
		
		
		
	}

}

'JAVA > Network' 카테고리의 다른 글

Encoder,Decoder  (0) 2023.08.17
TextReader  (0) 2023.08.17
BinaryInputStream  (0) 2023.08.17
URL  (0) 2023.08.17
날씨정보 URL 을 파일로 변환하여 원하는 디렉터리에 저장하기  (0) 2023.08.06