JavaTM Platform
Standard Ed. 6

java.net
클래스 HttpURLConnection

java.lang.Object 
  상위를 확장 java.net.URLConnection 
      상위를 확장 java.net.HttpURLConnection
직계의 기존의 서브 클래스:
HttpsURLConnection


public abstract class HttpURLConnection
extends URLConnection

HTTP 고유의 기능을 지원하는 URLConnection 입니다. 상세한 것에 대하여는,스펙을 참조해 주세요.  

단일의 요구를 실시하려면 개개의 HttpURLConnection 인스턴스가 사용됩니다만, 그 배후의 HTTP 서버에의 네트워크 접속은, 다른 인스턴스와 투과적으로 공유될 가능성이 있습니다. 요구 후, HttpURLConnection 의 InputStream 또는 OutputStream 상에서 close() 메소드를 호출하면(자), 그 인스턴스에 관련지을 수 있고 있던 네트워크 자원이 해제될 가능성이 있습니다만, 공유되고 있는 지속 접속에의 영향은 전혀 없습니다. disconnect() 메소드를 호출했을 경우, 지속 접속이 그 시점에서 IDLE 상태가 되어 있으면, 사용하고 있던 소켓이 클로즈 될 가능성이 있습니다.

도입된 버젼:
JDK1. 1
관련 항목:
disconnect()

필드의 개요
protected  int chunkLength
          출력시에 체크엔코딘그스트리밍모드를 사용하는 경우의 체크장.
protected  int fixedContentLength
          고정장 스트리밍 모드를 사용하는 경우의 고정 컨텐츠장.
static int HTTP_ACCEPTED
          HTTP Status-Code 202:받아들여졌습니다.
static int HTTP_BAD_GATEWAY
          HTTP Status-Code 502:부정한 게이트웨이.
static int HTTP_BAD_METHOD
          HTTP Status-Code 405:메소드가 허가되고 있지 않습니다.
static int HTTP_BAD_REQUEST
          HTTP Status-Code 400:부정한 요구.
static int HTTP_CLIENT_TIMEOUT
          HTTP Status-Code 408:요구가 타임 아웃 했습니다.
static int HTTP_CONFLICT
          HTTP Status-Code 409:충돌하고 있습니다.
static int HTTP_CREATED
          HTTP Status-Code 201:작성되었습니다.
static int HTTP_ENTITY_TOO_LARGE
          HTTP Status-Code 413:요구의 엔티티가 너무 큽니다.
static int HTTP_FORBIDDEN
          HTTP Status-Code 403:금지되고 있습니다.
static int HTTP_GATEWAY_TIMEOUT
          HTTP Status-Code 504:게이트웨이가 타임 아웃 했습니다.
static int HTTP_GONE
          HTTP Status-Code 410:존재하지 않습니다.
static int HTTP_INTERNAL_ERROR
          HTTP Status-Code 500:내부 서버 에러.
static int HTTP_LENGTH_REQUIRED
          HTTP Status-Code 411:길이가 필요합니다.
static int HTTP_MOVED_PERM
          HTTP Status-Code 301:영속적으로 이동되었습니다.
static int HTTP_MOVED_TEMP
          HTTP Status-Code 302:일시적인 리다이렉트(redirect).
static int HTTP_MULT_CHOICE
          HTTP Status-Code 300:복수의 선택사항이 있습니다.
static int HTTP_NO_CONTENT
          HTTP Status-Code 204:컨텐츠가 없습니다.
static int HTTP_NOT_ACCEPTABLE
          HTTP Status-Code 406:받아들여지지 않습니다.
static int HTTP_NOT_AUTHORITATIVE
          HTTP Status-Code 203:신뢰할 수 없는 정보입니다.
static int HTTP_NOT_FOUND
          HTTP Status-Code 404:발견되지 않습니다.
static int HTTP_NOT_IMPLEMENTED
          HTTP Status-Code 501:구현되고 있지 않습니다.
static int HTTP_NOT_MODIFIED
          HTTP Status-Code 304:변경되고 있지 않습니다.
static int HTTP_OK
          HTTP Status-Code 200: OK 입니다.
static int HTTP_PARTIAL
          HTTP Status-Code 206:부분적인 컨텐츠.
static int HTTP_PAYMENT_REQUIRED
          HTTP Status-Code 402:지불의 필요가 있습니다.
static int HTTP_PRECON_FAILED
          HTTP Status-Code 412:전제 조건이 채워지고 있지 않습니다.
static int HTTP_PROXY_AUTH
          HTTP Status-Code 407:프록시 인증이 필요합니다.
static int HTTP_REQ_TOO_LONG
          HTTP Status-Code 414:요구의 URI 가 너무 큽니다.
static int HTTP_RESET
          HTTP Status-Code 205:컨텐츠를 리셋 합니다.
static int HTTP_SEE_OTHER
          HTTP Status-Code 303:외를 참조해 주세요.
static int HTTP_SERVER_ERROR
          추천 되고 있지 않습니다.  잘못한 필드이며, 존재해야 하는 것이어 선.
static int HTTP_UNAUTHORIZED
          HTTP Status-Code 401:승인되고 있지 않습니다.
static int HTTP_UNAVAILABLE
          HTTP Status-Code 503:서비스가 사용 불가능합니다.
static int HTTP_UNSUPPORTED_TYPE
          HTTP Status-Code 415:지원되어 있지 않은 미디어 타입입니다.
static int HTTP_USE_PROXY
          HTTP Status-Code 305:프록시를 사용합니다.
static int HTTP_VERSION
          HTTP Status-Code 505:지원되어 있지 않은 HTTP 버젼입니다.
protected  boolean instanceFollowRedirects
          true 의 경우, 프로토콜은 자동적으로 리다이렉트(redirect)에 따릅니다.
protected  String method
          HTTP 메소드 (GET, POST, PUT 등)입니다.
protected  int responseCode
          3 자리수의 HTTP 상태 코드를 나타내는 int 입니다.
protected  String responseMessage
          HTTP 응답 메세지입니다.
 
클래스 java.net. URLConnection 로부터 상속된 필드
allowUserInteraction , connected , doInput , doOutput , ifModifiedSince , url , useCaches
 
생성자 의 개요
protected HttpURLConnection (URL  u)
          HttpURLConnection 의 생성자 입니다.
 
메소드의 개요
abstract  void disconnect ()
          서버에의 요구가 가까운 장래 발생 할 것 같지 않은 것을 나타냅니다.
 InputStream getErrorStream ()
          접속이 실패했지만, 그럼에도 불구하고 서버로부터 유용한 데이터가 송신되어 왔을 경우에, 에러 스트림을 돌려줍니다.
static boolean getFollowRedirects ()
          HTTP 리다이렉트(redirect) (3xx)에 자동적으로 따를지 어떨지를 나타내는 boolean 를 돌려줍니다.
 String getHeaderField (int n)
          n 번째의 헤더 필드의 값을 돌려줍니다.
 long getHeaderFieldDate (String  name, long Default)
          지정된 필드를 일자로서 구문 분석 한 값을 돌려줍니다.
 String getHeaderFieldKey (int n)
          n 번째의 헤더 필드의 키를 돌려줍니다.
 boolean getInstanceFollowRedirects ()
          이 HttpURLConnectioninstanceFollowRedirects 필드치를 돌려줍니다.
 Permission getPermission ()
          이 객체가 나타내는 접속을 위해서(때문에) 필요한 액세스권을 나타내는 Permission 객체를 돌려줍니다.
 String getRequestMethod ()
          요구 메소드를 가져옵니다.
 int getResponseCode ()
          HTTP 응답 메세지로부터 상태 코드를 가져옵니다.
 String getResponseMessage ()
          서버로부터 응답 코드와 함께 HTTP 응답 메세지가 돌려주어졌을 경우, 그 메세지를 가져옵니다.
 void setChunkedStreamingMode (int chunklen)
          이 메소드를 사용하면, 컨텐츠장이 미리 모르는 경우에, 내부 버퍼를 사용하지 않는 HTTP 요구 본체의 스트리밍을 유효하게 할 수가 있습니다.
 void setFixedLengthStreamingMode (int contentLength)
          이 메소드를 사용하면, 컨텐츠장을 미리 알고 있는 경우에, 내부 버퍼를 사용하지 않는 HTTP 요구 본체의 스트리밍을 유효하게 할 수가 있습니다.
static void setFollowRedirects (boolean set)
          HTTP 리다이렉트(redirect) (응답 코드 3xx 의 요구)에, 이 클래스가 자동적으로 따라야할 것인가 어떤가를 설정합니다.
 void setInstanceFollowRedirects (boolean followRedirects)
          HTTP 리다이렉트(redirect) (응답 코드 3xx 의 요구)를, 이 HttpURLConnection 인스턴스로 자동에 따를지 어떨지를 설정합니다.
 void setRequestMethod (String  method)
          URL 요구의 메소드를 다음의 어떤 것인가로 설정합니다.
abstract  boolean usingProxy ()
          접속으로 프록시를 사용할지 어떨지를 나타냅니다.
 
클래스 java.net. URLConnection 로부터 상속된 메소드
addRequestProperty , connect , getAllowUserInteraction , getConnectTimeout , getContent , getContent , getContentEncoding , getContentLength , getContentType , getDate , getDefaultAllowUserInteraction , getDefaultRequestProperty , getDefaultUseCaches , getDoInput , getDoOutput , getExpiration , getFileNameMap , getHeaderField , getHeaderFieldInt , getHeaderFields , getIfModifiedSince , getInputStream , getLastModified , getOutputStream , getReadTimeout , getRequestProperties , getRequestProperty , getURL , getUseCaches , guessContentTypeFromName , guessContentTypeFromStream , setAllowUserInteraction , setConnectTimeout , setContentHandlerFactory , setDefaultAllowUserInteraction , setDefaultRequestProperty , setDefaultUseCaches , setDoInput , setDoOutput , setFileNameMap , setIfModifiedSince , setReadTimeout , setRequestProperty , setUseCaches , toString
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

필드의 상세

method

protected String  method
HTTP 메소드 (GET, POST, PUT 등)입니다.


chunkLength

protected int chunkLength
출력시에 체크엔코딘그스트리밍모드를 사용하는 경우의 체크장. 값 -1 은, 출력시의 체크엔코딘그가 무효라는 점을 의미합니다.

도입된 버젼:
1.5

fixedContentLength

protected int fixedContentLength
고정장 스트리밍 모드를 사용하는 경우의 고정 컨텐츠장. 값 -1 은, 출력시의 고정장 스트리밍 모드가 무효라는 점을 의미합니다.

도입된 버젼:
1.5

responseCode

protected int responseCode
3 자리수의 HTTP 상태 코드를 나타내는 int 입니다.


responseMessage

protected String  responseMessage
HTTP 응답 메세지입니다.


instanceFollowRedirects

protected boolean instanceFollowRedirects
true 의 경우, 프로토콜은 자동적으로 리다이렉트(redirect)에 따릅니다. false 의 경우, 프로토콜은 자동적으로는 리다이렉트(redirect)에 따르지 않습니다.  

이 필드는,setInstanceFollowRedirects 메소드에 의해 설정됩니다. 그 값은,getInstanceFollowRedirects 메소드에 의해 돌려주어집니다.  

HttpURLConnection 작성시, 디폴트 값는 static followRedirects 의 값에 근거합니다.

관련 항목:
setInstanceFollowRedirects(boolean) , getInstanceFollowRedirects() , setFollowRedirects(boolean)

HTTP_OK

public static final int HTTP_OK
HTTP Status-Code 200: OK 입니다.

관련 항목:
정수 필드치

HTTP_CREATED

public static final int HTTP_CREATED
HTTP Status-Code 201:작성되었습니다.

관련 항목:
정수 필드치

HTTP_ACCEPTED

public static final int HTTP_ACCEPTED
HTTP Status-Code 202:받아들여졌습니다.

관련 항목:
정수 필드치

HTTP_NOT_AUTHORITATIVE

public static final int HTTP_NOT_AUTHORITATIVE
HTTP Status-Code 203:신뢰할 수 없는 정보입니다.

관련 항목:
정수 필드치

HTTP_NO_CONTENT

public static final int HTTP_NO_CONTENT
HTTP Status-Code 204:컨텐츠가 없습니다.

관련 항목:
정수 필드치

HTTP_RESET

public static final int HTTP_RESET
HTTP Status-Code 205:컨텐츠를 리셋 합니다.

관련 항목:
정수 필드치

HTTP_PARTIAL

public static final int HTTP_PARTIAL
HTTP Status-Code 206:부분적인 컨텐츠.

관련 항목:
정수 필드치

HTTP_MULT_CHOICE

public static final int HTTP_MULT_CHOICE
HTTP Status-Code 300:복수의 선택사항이 있습니다.

관련 항목:
정수 필드치

HTTP_MOVED_PERM

public static final int HTTP_MOVED_PERM
HTTP Status-Code 301:영속적으로 이동되었습니다.

관련 항목:
정수 필드치

HTTP_MOVED_TEMP

public static final int HTTP_MOVED_TEMP
HTTP Status-Code 302:일시적인 리다이렉트(redirect).

관련 항목:
정수 필드치

HTTP_SEE_OTHER

public static final int HTTP_SEE_OTHER
HTTP Status-Code 303:외를 참조해 주세요.

관련 항목:
정수 필드치

HTTP_NOT_MODIFIED

public static final int HTTP_NOT_MODIFIED
HTTP Status-Code 304:변경되고 있지 않습니다.

관련 항목:
정수 필드치

HTTP_USE_PROXY

public static final int HTTP_USE_PROXY
HTTP Status-Code 305:프록시를 사용합니다.

관련 항목:
정수 필드치

HTTP_BAD_REQUEST

public static final int HTTP_BAD_REQUEST
HTTP Status-Code 400:부정한 요구.

관련 항목:
정수 필드치

HTTP_UNAUTHORIZED

public static final int HTTP_UNAUTHORIZED
HTTP Status-Code 401:승인되고 있지 않습니다.

관련 항목:
정수 필드치

HTTP_PAYMENT_REQUIRED

public static final int HTTP_PAYMENT_REQUIRED
HTTP Status-Code 402:지불의 필요가 있습니다.

관련 항목:
정수 필드치

HTTP_FORBIDDEN

public static final int HTTP_FORBIDDEN
HTTP Status-Code 403:금지되고 있습니다.

관련 항목:
정수 필드치

HTTP_NOT_FOUND

public static final int HTTP_NOT_FOUND
HTTP Status-Code 404:발견되지 않습니다.

관련 항목:
정수 필드치

HTTP_BAD_METHOD

public static final int HTTP_BAD_METHOD
HTTP Status-Code 405:메소드가 허가되고 있지 않습니다.

관련 항목:
정수 필드치

HTTP_NOT_ACCEPTABLE

public static final int HTTP_NOT_ACCEPTABLE
HTTP Status-Code 406:받아들여지지 않습니다.

관련 항목:
정수 필드치

HTTP_PROXY_AUTH

public static final int HTTP_PROXY_AUTH
HTTP Status-Code 407:프록시 인증이 필요합니다.

관련 항목:
정수 필드치

HTTP_CLIENT_TIMEOUT

public static final int HTTP_CLIENT_TIMEOUT
HTTP Status-Code 408:요구가 타임 아웃 했습니다.

관련 항목:
정수 필드치

HTTP_CONFLICT

public static final int HTTP_CONFLICT
HTTP Status-Code 409:충돌하고 있습니다.

관련 항목:
정수 필드치

HTTP_GONE

public static final int HTTP_GONE
HTTP Status-Code 410:존재하지 않습니다.

관련 항목:
정수 필드치

HTTP_LENGTH_REQUIRED

public static final int HTTP_LENGTH_REQUIRED
HTTP Status-Code 411:길이가 필요합니다.

관련 항목:
정수 필드치

HTTP_PRECON_FAILED

public static final int HTTP_PRECON_FAILED
HTTP Status-Code 412:전제 조건이 채워지고 있지 않습니다.

관련 항목:
정수 필드치

HTTP_ENTITY_TOO_LARGE

public static final int HTTP_ENTITY_TOO_LARGE
HTTP Status-Code 413:요구의 엔티티가 너무 큽니다.

관련 항목:
정수 필드치

HTTP_REQ_TOO_LONG

public static final int HTTP_REQ_TOO_LONG
HTTP Status-Code 414:요구의 URI 가 너무 큽니다.

관련 항목:
정수 필드치

HTTP_UNSUPPORTED_TYPE

public static final int HTTP_UNSUPPORTED_TYPE
HTTP Status-Code 415:지원되어 있지 않은 미디어 타입입니다.

관련 항목:
정수 필드치

HTTP_SERVER_ERROR

@Deprecated 
public static final int HTTP_SERVER_ERROR
추천 되고 있지 않습니다.  잘못한 필드이며, 존재해야 하는 것이어 선.
HTTP Status-Code 500:내부 서버 에러.

관련 항목:
정수 필드치

HTTP_INTERNAL_ERROR

public static final int HTTP_INTERNAL_ERROR
HTTP Status-Code 500:내부 서버 에러.

관련 항목:
정수 필드치

HTTP_NOT_IMPLEMENTED

public static final int HTTP_NOT_IMPLEMENTED
HTTP Status-Code 501:구현되고 있지 않습니다.

관련 항목:
정수 필드치

HTTP_BAD_GATEWAY

public static final int HTTP_BAD_GATEWAY
HTTP Status-Code 502:부정한 게이트웨이.

관련 항목:
정수 필드치

HTTP_UNAVAILABLE

public static final int HTTP_UNAVAILABLE
HTTP Status-Code 503:서비스가 사용 불가능합니다.

관련 항목:
정수 필드치

HTTP_GATEWAY_TIMEOUT

public static final int HTTP_GATEWAY_TIMEOUT
HTTP Status-Code 504:게이트웨이가 타임 아웃 했습니다.

관련 항목:
정수 필드치

HTTP_VERSION

public static final int HTTP_VERSION
HTTP Status-Code 505:지원되어 있지 않은 HTTP 버젼입니다.

관련 항목:
정수 필드치
생성자 의 상세

HttpURLConnection

protected HttpURLConnection(URL  u)
HttpURLConnection 의 생성자 입니다.

파라미터:
u - URL
메소드의 상세

getHeaderFieldKey

public String  getHeaderFieldKey(int n)
n 번째의 헤더 필드의 키를 돌려줍니다. 구현에 따라서는,0 번째의 헤더 필드를 특별한 것으로 해, 즉 HTTP 서버로부터 반환된 상태행으로서 취급하는 일이 있습니다. 그 경우,getHeaderField(0) 는 그 상태행을 돌려줍니다만,getHeaderFieldKey(0) 는 null 를 돌려줍니다.

오버라이드(override):
클래스 URLConnection 내의 getHeaderFieldKey
파라미터:
n - 인덱스. 여기서 n 는 0 이상
반환값:
n 번째의 헤더 필드의 키. 키가 존재하지 않는 경우는 null

setFixedLengthStreamingMode

public void setFixedLengthStreamingMode(int contentLength)
이 메소드를 사용하면, 컨텐츠장을 미리 알고 있는 경우에, 내부 버퍼를 사용하지 않는 HTTP 요구 본체의 스트리밍을 유효하게 할 수가 있습니다.  

어플리케이션이, 지정된 컨텐츠장을 넘는 데이터를 기입하려고 하거나 지정된 양의 기입을 끝내기 전에 OutputStream 를 클로즈 하거나 하면(자), 예외가 throw 됩니다.  

출력 스트림 처리를 유효하게 했을 경우, 인증과 리디렉션을 자동적으로 처리할 수 없습니다. 인증 또는 리디렉션이 필요하게 되는 경우에는, 응답의 읽기시에 HttpRetryException 가 throw 됩니다. 이 예외를 조사하면, 에러의 상세를 알 수 있습니다.  

이 메소드는, URLConnection 의 접속전에 호출해 주세요.

파라미터:
contentLength - OutputStream 에 기입해지는 바이트수
예외:
IllegalStateException - URLConnection 가 벌써 접속되고 있는 경우, 또는 다른 스트리밍 모드가 벌써 유효하게 되어 있는 경우
IllegalArgumentException - 0 보다 작은 컨텐츠장이 지정되었을 경우
도입된 버젼:
1.5
관련 항목:
setChunkedStreamingMode(int)

setChunkedStreamingMode

public void setChunkedStreamingMode(int chunklen)
이 메소드를 사용하면, 컨텐츠장이 미리 모르는 경우에, 내부 버퍼를 사용하지 않는 HTTP 요구 본체의 스트리밍을 유효하게 할 수가 있습니다. 이 모드에서는, 요구 본체의 송신시에 체크 전송 인코딩이 사용됩니다. 모든 HTTP 서버가 이 모드를 지원하고 있는 것은 아니기 때문에 주의해 주세요.  

출력 스트림 처리를 유효하게 했을 경우, 인증과 리디렉션을 자동적으로 처리할 수 없습니다. 인증 또는 리디렉션이 필요하게 되는 경우에는, 응답의 읽기시에 HttpRetryException 가 throw 됩니다. 이 예외를 조사하면, 에러의 상세를 알 수 있습니다.  

이 메소드는, URLConnection 의 접속전에 호출해 주세요.

파라미터:
chunklen - 각 체크내에 기입하는 바이트수. chunklen 가 0 이하의 경우는 디폴트 값가 사용된다
예외:
IllegalStateException - URLConnection 가 벌써 접속되고 있는 경우, 또는 다른 스트리밍 모드가 벌써 유효하게 되어 있는 경우
도입된 버젼:
1.5
관련 항목:
setFixedLengthStreamingMode(int)

getHeaderField

public String  getHeaderField(int n)
n 번째의 헤더 필드의 값을 돌려줍니다. 구현에 따라서는,0 번째의 헤더 필드를 특별한 것으로 해, 즉 HTTP 서버로부터 반환된 상태행으로서 취급하는 일이 있습니다.  

이 메소드와 getHeaderFieldKey 메소드를 조합해 사용하면(자), 메세지내의 모든 헤더를 반복 처리 할 수가 있습니다.

오버라이드(override):
클래스 URLConnection 내의 getHeaderField
파라미터:
n - 인덱스. 여기서 n 는 0 이상
반환값:
n 번째의 헤더 필드의 값. 값이 존재하지 않는 경우는 null
관련 항목:
getHeaderFieldKey(int)

setFollowRedirects

public static void setFollowRedirects(boolean set)
HTTP 리다이렉트(redirect) (응답 코드 3xx 의 요구)에, 이 클래스가 자동적으로 따라야할 것인가 어떤가를 설정합니다. 디폴트는 true 입니다. 애플릿은 이 변수를 변경할 수 없습니다.  

시큐리티 매니저가 존재하는 경우, 이 메소드는 최초로 시큐리티 매니저의 checkSetFactory 메소드를 호출하는 것으로, 이 조작이 허가되고 있는 것을 확인합니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.

파라미터:
set - HTTP 리다이렉트(redirect)에 따를지 어떨지를 나타내는 boolean
예외:
SecurityException - 시큐리티 매니저가 존재해, 그 checkSetFactory 메소드가 이 조작을 허가하지 않는 경우
관련 항목:
SecurityManager.checkSetFactory() , getFollowRedirects()

getFollowRedirects

public static boolean getFollowRedirects()
HTTP 리다이렉트(redirect) (3xx)에 자동적으로 따를지 어떨지를 나타내는 boolean 를 돌려줍니다.

반환값:
HTTP 리다이렉트(redirect)에 자동적으로 따라야 하는 것인 경우는 true, 그렇지 않은 경우는 false
관련 항목:
setFollowRedirects(boolean)

setInstanceFollowRedirects

public void setInstanceFollowRedirects(boolean followRedirects)
HTTP 리다이렉트(redirect) (응답 코드 3xx 의 요구)를, 이 HttpURLConnection 인스턴스로 자동에 따를지 어떨지를 설정합니다.  

디폴트가 true 인, followRedirects 로부터의 디폴트 값

파라미터:
followRedirects - HTTP 리다이렉트(redirect)에 따를지 어떨지를 나타내는 boolean
도입된 버젼:
1.3
관련 항목:
instanceFollowRedirects , getInstanceFollowRedirects()

getInstanceFollowRedirects

public boolean getInstanceFollowRedirects()
HttpURLConnectioninstanceFollowRedirects 필드치를 돌려줍니다.

반환값:
HttpURLConnectioninstanceFollowRedirects 필드치
도입된 버젼:
1.3
관련 항목:
instanceFollowRedirects , setInstanceFollowRedirects(boolean)

setRequestMethod

public void setRequestMethod(String  method)
                      throws ProtocolException 
URL 요구의 메소드를 다음의 어떤 것인가로 설정합니다. 이러한 메소드 가운데, 어떤 것이 유효한가는 프로토콜의 제한에 의해 정해집니다. 디폴트의 메소드는 GET 입니다.

파라미터:
method - HTTP 메소드
예외:
ProtocolException - 메소드를 리셋 할 수 없는 경우, 또는 요구된 메소드가 HTTP 로 유효하지 않은 경우
관련 항목:
getRequestMethod()

getRequestMethod

public String  getRequestMethod()
요구 메소드를 가져옵니다.

반환값:
HTTP 요구 메소드
관련 항목:
setRequestMethod(java.lang.String)

getResponseCode

public int getResponseCode()
                    throws IOException 
HTTP 응답 메세지로부터 상태 코드를 가져옵니다. 예를 들어, 다음 상태행이 돌려주어졌다고 합니다.
HTTP/1. 0 200 OK
HTTP/1. 0 401 Unauthorized
 
이것은, 200 으로 401 을 각각 돌려줍니다. 응답으로부터 코드를 인식할 수 없는 경우 (즉, 그 응답이 유효한 HTTP 가 아닌 경우),-1 를 돌려줍니다.

반환값:
HTTP 상태 코드 또는 -1
예외:
IOException - 서버에의 접속으로 에러가 발생했을 경우

getResponseMessage

public String  getResponseMessage()
                          throws IOException 
서버로부터 응답 코드와 함께 HTTP 응답 메세지가 돌려주어졌을 경우, 그 메세지를 가져옵니다. 다음과 같은 응답이 있었다고 합니다.
HTTP/1. 0 200 OK
HTTP/1. 0 404 Not Found
 
캐릭터 라인 「OK」와「Not Found」를 각각 추출합니다. 응답으로부터 아무것도 인식할 수 없었던 경우 (결과가 유효한 HTTP 는 아니었던 경우), null 를 돌려줍니다.

반환값:
HTTP 응답 메세지 또는 null
예외:
IOException - 서버에의 접속으로 에러가 발생했을 경우

getHeaderFieldDate

public long getHeaderFieldDate(String  name,
                               long Default)
클래스 URLConnection 의 기술:
지정된 필드를 일자로서 구문 분석 한 값을 돌려줍니다. 결과는, 지정된 필드가 나타내는, 1970 년 1 월 1 일 GMT 로부터의 밀리 세컨드수입니다.  

이 형식의 getHeaderField 가 존재하고 있는 것은, 일부의 접속 타입 (http-ng 등)이 사전에 구문 분석 된 헤더를 가지기 때문입니다. 그러한 접속 타입의 클래스는, 이 메소드를 오버라이드(override) 하는 것으로 구문 분석을 회피할 수가 있습니다.

오버라이드(override):
클래스 URLConnection 내의 getHeaderFieldDate
파라미터:
name - 헤더 필드의 이름
Default - 디폴트 값
반환값:
필드의 값을 일자로서 구문 분석 한 것. 필드가 발견되지 않는가 형식이 부정한 경우에는,Default 인수의 값이 반환된다

disconnect

public abstract void disconnect()
서버에의 요구가 가까운 장래 발생 할 것 같지 않은 것을 나타냅니다. disconnect()의 호출이, 이 HttpURLConnection 인스턴스가 다른 요구용으로서 재사용 가능한 것을 의미할리가 없게 해 주세요.


usingProxy

public abstract boolean usingProxy()
접속으로 프록시를 사용할지 어떨지를 나타냅니다.

반환값:
이 접속이 프록시를 사용할지 어떨지를 나타내는 boolean

getPermission

public Permission  getPermission()
                         throws IOException 
클래스 URLConnection 의 기술:
이 객체가 나타내는 접속을 위해서(때문에) 필요한 액세스권을 나타내는 Permission 객체를 돌려줍니다. 접속시에 액세스권이 전혀 필요하게 되지 않는 경우, 이 메소드는 null 를 돌려줍니다. 이 메소드는 디폴트로,java.security.AllPermission 를 돌려줍니다. 서브 클래스에서는, URL 에 접속하기 위해서 필요한 액세스권을 가장 적절히 나타내는 액세스권을 돌려주도록(듯이), 이 메소드를 오버라이드(override) 합니다. 예를 들어,file: URL 를 나타내는 URLConnection 에서는,java.io.FilePermission 객체가 돌려주어집니다.

반환되는 액세스권은, 접속 상태에 의존할 가능성이 있습니다. 예를 들어, 접속전의 액세스권은, 접속 후의 액세스권과는 다를 가능성이 있습니다. 예를 들어, foo.com 라고 하는 HTTP 서버로, 접속을 다른 호스트 bar.com 에 리다이렉트(redirect) 하고 있다고 합니다. 접속하기 전에 connection 에 의해 반환되는 액세스권은, foo.com 에의 접속에 필요한 액세스권입니다. 한편, 접속의 나중에 반환되는 액세스권은, bar.com 에의 액세스권이 됩니다.

액세스권의 일반적인 사용 목적은 2 개 있습니다. URLConnection 경유로 취득된 객체의 캐쉬를 보호하는 것으로, 수신자가 특정의 URL 에 대해 알 권리를 체크하는 것입니다. 최초의 경우, 액세스권은 객체를 취득한 후에 취득됩니다. 예를 들어, HTTP 접속의 경우, 이것은, 데이터의 최종적인 취득원이 된 호스트에게 접속하기 위한 액세스권을 나타냅니다. 2 번째의 경우, 액세스권은 접속전에 취득 및 테스트됩니다.

오버라이드(override):
클래스 URLConnection 내의 getPermission
반환값:
이 URLConnection 가 나타내는 접속을 위해서(때문에) 필요한 액세스권을 나타내는 Permission 객체
예외:
IOException - 액세스권의 처리에 네트워크 또는 파일 입출력이 필요한 때에, 처리중에 예외가 발생했을 경우

getErrorStream

public InputStream  getErrorStream()
접속이 실패했지만, 그럼에도 불구하고 서버로부터 유용한 데이터가 송신되어 왔을 경우에, 에러 스트림을 돌려줍니다. 전형적인 예로서는, HTTP 서버가 404 로 응답해, 거기에 따라 접속내에서 FileNotFoundException 가 throw 되었지만, 그 서버로부터 대처책을 포함한 HTML 헬프 페이지가 송신되어 왔다, 라고 했을 경우입니다.

이 메소드를 호출해도, 접속은 개시되지 않습니다. 접속이 확립되지 않았던 경우, 접속중에 서버로 에러가 발생하지 않았던 경우, 또는 서버로 에러가 발생했지만 에러 데이터는 송신되지 않았던 경우에는, 이 메소드는 null 를 돌려줍니다. 이것이 디폴트입니다.

반환값:
에러 스트림이 존재하는 경우는 그 스트림. 에러가 발생하지 않았던 경우, 접속이 확립되어 있지 않은 경우, 또는 서버가 유용한 데이터를 송신하지 않았던 경우는 null

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.