본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

네트워크 통신을 수행하는 URLConnection: addRequestProperty() connect() getAllowUserInteraction() getConnectTimeout() getContent() getContentEncoding() getContentLength() getContentType() getDate() getDefaultAllowUserInteraction() getDefaultRequestProperty() getDefau

앞서 URL클래스와 URLConnection클래스의 차이를 알아봤다.

실제로 네트워크 통신을 수행하고 요청(Request)을 보내고 응답(Response)을 받아오는 역할을 하는 URLConnection의 메서드에 대해 알아보자.

https://standout.tistory.com/1522

 

URL 클래스와 URLConnection 클래스의 차이

URL 클래스와 URLConnection 클래스는 모두 네트워크 통신을 다루는 데 사용되지만, 목적과 기능이 다르다. URL 클래스URL 클래스는 자원의 위치를 식별하고 관리주로 URL 문자열에서 프로토콜, 호스트,

standout.tistory.com

 

 

void addRequestProperty(String key, String value)
HTTP 요청 헤더에 지정된 키-값 쌍을 추가합니다.

URLConnection connection = url.openConnection();
connection.addRequestProperty("User-Agent", "Mozilla/5.0");

 

 

void connect()
URL에 대한 연결을 시작합니다.

URLConnection connection = url.openConnection();
connection.connect();

 

 

boolean getAllowUserInteraction()
사용자 상호 작용 허용 여부를 반환합니다.

URLConnection connection = url.openConnection();
boolean allowUserInteraction = connection.getAllowUserInteraction();

 

 

int getConnectTimeout()
연결 제한 시간(밀리초)을 반환합니다.

URLConnection connection = url.openConnection();
int connectTimeout = connection.getConnectTimeout();

 

 

Object getContent()
URL의 콘텐츠를 읽어서 Object로 반환합니다.

URLConnection connection = url.openConnection();
Object content = connection.getContent();

 

 

Object getContent(Class[] classes)
URL의 콘텐츠를 지정된 클래스로 변환하여 반환합니다.

URLConnection connection = url.openConnection();
InputStream inputStream = (InputStream) connection.getContent(new Class[]{InputStream.class});

 

 

String getContentEncoding()
콘텐츠의 인코딩을 반환합니다.

URLConnection connection = url.openConnection();
String contentEncoding = connection.getContentEncoding();

 

 

int getContentLength()
콘텐츠의 길이를 반환합니다.

URLConnection connection = url.openConnection();
int contentLength = connection.getContentLength();

 

String getContentType()
콘텐츠 유형을 반환합니다.

URLConnection connection = url.openConnection();
String contentType = connection.getContentType();

 

 

long getDate()
콘텐츠가 생성된 날짜를 반환합니다.

URLConnection connection = url.openConnection();
long date = connection.getDate();

 

 

int getDefaultAllowUserInteraction()
기본 사용자 상호 작용 허용 여부를 반환합니다.

URLConnection connection = url.openConnection();
int defaultAllowUserInteraction = connection.getDefaultAllowUserInteraction();

 

 


String getDefaultRequestProperty(String key)
지정된 키에 대한 기본 요청 속성 값을 반환합니다.

URLConnection connection = url.openConnection();
String userAgent = connection.getDefaultRequestProperty("User-Agent");

 

 

boolean getDefaultUseCaches()
기본 캐시 사용 여부를 반환합니다.

URLConnection connection = url.openConnection();
boolean defaultUseCaches = connection.getDefaultUseCaches();

 

 

 

boolean getDoInput()
입력 스트림을 사용하는지 여부를 반환합니다.

URLConnection connection = url.openConnection();
boolean doInput = connection.getDoInput();

 

 

boolean getDoOutput()
출력 스트림을 사용하는지 여부를 반환합니다.

URLConnection connection = url.openConnection();
boolean doOutput = connection.getDoOutput();

 

 

long getExpiration()
캐시의 만료 날짜를 반환합니다.

URLConnection connection = url.openConnection();
long expiration = connection.getExpiration();

 

 

FileNameMap getFileNameMap()
파일 이름 매핑을 반환합니다.

URLConnection connection = url.openConnection();
FileNameMap fileNameMap = connection.getFileNameMap();

 

 

String getHeaderField(int n)
지정된 헤더 필드의 값을 반환합니다.

URLConnection connection = url.openConnection();
String headerField = connection.getHeaderField(0);

 

 

String getHeaderFieldDate(String name, long default)
지정된 헤더 필드의 날짜 값을 반환합니다.

URLConnection connection = url.openConnection();
String lastModified = connection.getHeaderFieldDate("Last-Modified", 0);

 

 


int getHeaderFieldInt(String name, int default)
지정된 헤더 필드의 정수 값을 반환합니다.

URLConnection connection = url.openConnection();
int contentLength = connection.getHeaderFieldInt("Content-Length", -1);

 

 

String getHeaderFieldKey(int n)
지정된 헤더 필드의 키를 반환합니다.

URLConnection connection = url.openConnection();
String headerFieldKey = connection.getHeaderFieldKey(0);

 

 

 

Map<String, List<String>> getHeaderFields()
모든 헤더 필드 및 해당 값을 포함하는 맵을 반환합니다.

URLConnection connection = url.openConnection();
Map<String, List<String>> headerFields = connection.getHeaderFields();

 

 

 

long getIfModifiedSince()
마지막 수정 이후로 변경된 자원의 날짜를 반환합니다.

URLConnection connection = url.openConnection();
long ifModifiedSince = connection.getIfModifiedSince();

 

 

InputStream getInputStream()
URL 연결의 입력 스트림을 반환합니다.

URLConnection connection = url.openConnection();
InputStream inputStream = connection.getInputStream();

 

 

long getLastModified()
자원이 마지막으로 수정된 날짜를 반환합니다.

URLConnection connection = url.openConnection();
long lastModified = connection.getLastModified();

 

 

OutputStream getOutputStream()
URL 연결의 출력 스트림을 반환합니다.

URLConnection connection = url.openConnection();
OutputStream outputStream = connection.getOutputStream();

 

 

Permission getPermission()
URL 연결에 대한 허가를 반환합니다.

URLConnection connection = url.openConnection();
Permission permission = connection.getPermission();

 

 

int getReadTimeout()
읽기 제한 시간(밀리초)을 반환합니다.

URLConnection connection = url.openConnection();
int readTimeout = connection.getReadTimeout();

 

 

Map<String, List<String>> getRequestProperties()
요청에 사용되는 모든 속성을 포함하는 맵을 반환합니다.

URLConnection connection = url.openConnection();
Map<String, List<String>> requestProperties = connection.getRequestProperties();

 

 

String getRequestProperty(String key)
지정된 키에 대한 요청 속성 값을 반환합니다.

URLConnection connection = url.openConnection();
String contentType = connection.getRequestProperty("Content-Type");

 

 

URL getURL()
URL 객체를 반환합니다.

URLConnection connection = url.openConnection();
URL connectedURL = connection.getURL();

 

 

boolean getUseCaches()
캐시 사용 여부를 반환합니다.

URLConnection connection = url.openConnection();
boolean useCaches = connection.getUseCaches();

 

 

String guessContentTypeFromName(String fname)
파일 이름을 기반으로 콘텐츠 유형을 추측합니다.

URLConnection connection = url.openConnection();
String contentType = connection.guessContentTypeFromName("example.pdf");

 

 

String guessContentTypeFromStream(InputStream is)
입력 스트림을 기반으로 콘텐츠 유형을 추측합니다.

URLConnection connection = url.openConnection();
InputStream inputStream = connection.getInputStream();
String contentType = connection.guessContentTypeFromStream(inputStream);

 

 

void setAllowUserInteraction(boolean defaultAllowUserInteraction)
기본 사용자 상호 작용 허용 여부를 설정합니다.

URLConnection connection = url.openConnection();
connection.setAllowUserInteraction(true);

 

 

void setDefaultRequestProperty(String key, String value)
기본 요청 속성 값을 설정합니다.

URLConnection connection = url.openConnection();
connection.setDefaultRequestProperty("User-Agent", "Mozilla/5.0");

 

 

void setDefaultUseCaches(boolean defaultUseCaches)
기본 캐시 사용 여부를 설정합니다.

URLConnection connection = url.openConnection();
connection.setDefaultUseCaches(false);

 

void setDoInput(boolean doInput)
입력 스트림 사용 여부를 설정합니다.

URLConnection connection = url.openConnection();
connection.setDoInput(true);

 

 

void setDoOutput(boolean doOutput)
출력 스트림 사용 여부를 설정합니다.

URLConnection connection = url.openConnection();
connection.setDoOutput(true);

 

 

void setFileNameMap(FileNameMap map)
파일 이름 매핑을 설정합니다.

URLConnection connection = url.openConnection();
connection.setFileNameMap(new MimetypesFileTypeMap());

 

 

void setIfModifiedSince(long ifModifiedSince)
자원이 변경된 시간 이후에만 데이터를 가져오도록 설정합니다.

URLConnection connection = url.openConnection();
connection.setIfModifiedSince(System.currentTimeMillis() - 86400000); // 1 day ago

 

 

void setReadTimeout(int timeout)
읽기 제한 시간(밀리초)을 설정합니다.

URLConnection connection = url.openConnection();
connection.setReadTimeout(5000); // 5 seconds

 

 

void setRequestProperty(String key, String value)
요청 속성 값을 설정합니다.

URLConnection connection = url.openConnection();
connection.setRequestProperty("Content-Type", "application/json");

 


void setUseCaches(boolean useCaches)
캐시 사용 여부를 설정합니다.

URLConnection connection = url.openConnection();
connection.setUseCaches(false);