JavaTM Platform
Standard Ed. 6

java.net
클래스 URLConnection

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


public abstract class URLConnection
extends Object

abstract 클래스 URLConnection 는, 어플리케이션과 URL 와의 사이의 통신 링크를 나타내는 모든 클래스의 슈퍼 클래스입니다. 이 클래스의 인스턴스를 사용해, URL 로 참조하는 자원의 read와 기입의 양쪽 모두를 실시할 수가 있습니다. 일반적으로, URL 에의 접속의 작성은, 다음과 같은 복수의 순서가 필요합니다.  

openConnection() connect()
원격 자원에의 접속에 영향을 주는 파라미터를 조작한다 자원과의 사이로, 쿼리 헤더 필드 및 컨텐츠를 교환한다
---------------------------->
시간
  1. URL 에 대해서 openConnection 메소드를 호출하는 것에 의해, 접속 객체를 생성한다
  2. 셋업 파라미터와 일반 요구 프로퍼티을 조작한다
  3. connect 메소드를 사용해, 원격 객체에의 실제의 접속을 확립한다
  4. 원격 객체가 사용 가능하게 된다. 원격 객체의 헤더 필드와 내용에 액세스 할 수 있게 된다

셋업 파라미터를 수정하려면 다음의 메소드를 사용합니다.

일반 요구 프로퍼티을 수정하려면 다음의 메소드를 사용합니다.

AllowUserInteraction 파라미터와 UseCaches 파라미터의 디폴트 값를 설정하려면 ,setDefaultAllowUserInteraction 메소드와 setDefaultUseCaches 메소드를 사용합니다.  

상기의 set 메소드는 각각 대응하는 get 메소드를 가집니다. 그러한 메소드를 사용하면, 파라미터 또는 일반 요구 프로퍼티의 값을 취득할 수 있습니다. 구체적으로 어느 파라미터나 일반 요구 프로퍼티이 적용 가능한가는, 프로토콜 마다 다릅니다.  

원격 객체에의 접속을 확립한 뒤, 헤더 필드와 내용에 액세스 하려면 다음의 메소드를 사용합니다.

일부의 헤더 필드는 빈번하게 액세스 됩니다. 관련하는 메소드를 다음에 나타냅니다.

상기를 사용하면, 이러한 필드에 용이하게 액세스 할 수 있습니다. getContentType 메소드는, 원격 객체의 형태를 판별할 경우에 getContent 메소드에 의해 사용됩니다. 서브 클래스에서는,getContentType 메소드를 오버라이드(override) 하면(자) 편리한 일이 있습니다.  

일반적으로의 경우, 접속전의 파라미터와 일반 요구 프로퍼티은 모두, 무시해 괜찮습니다. 접속전의 파라미터와 요구 프로퍼티은 적절한 값에 디폴트 설정됩니다. 이 인터페이스의 대부분의 클라이언트로 관심을 갖게하는 메소드는, 2 개(살) 밖에 없습니다. getInputStreamgetContent 입니다. 이것들은,URL 클래스의 편리한 메소드에 의해 밀러화 됩니다.  

http 접속의 요구 프로퍼티과 헤더 필드의 자세한 것은, 다음의 사이트를 참조해 주세요.

 http://www.ietf.org/rfc/rfc2068.txt 
 
fileNameMap 에 관한 주: JDK 1.1. 6 보다 전의 버젼에서는,URLConnection 의 필드 fileNameMap 는 public 였습니다. JDK 1.1. 6 이후에서는,fileNameMap 는 private 가 되어 있습니다. 액세스용 메소드 getFileNameMap 이라고 변경용 메소드 setFileNameMap 가, 이 정보에의 액세스용으로서 추가되었습니다. 이 변경에 대해서는,호환성의 페이지에서도 설명되고 있습니다. 요구 후에 URLConnectionInputStream 또는 OutputStream 상에서 close() 메소드를 호출하면(자), 특정의 프로토콜 스펙으로 다른 동작이 규정되어 있지 않은 한, 이 인스턴스에 관련지을 수 있었던 네트워크 자원이 해제됩니다.

도입된 버젼:
JDK1. 0
관련 항목:
URL.openConnection() , connect() , getContent() , getContentEncoding() , getContentLength() , getContentType() , getDate() , getExpiration() , getHeaderField(int) , getHeaderField(java.lang.String) , getInputStream() , getLastModified() , getOutputStream() , setAllowUserInteraction(boolean) , setDefaultUseCaches(boolean) , setDoInput(boolean) , setDoOutput(boolean) , setIfModifiedSince(long) , setRequestProperty(java.lang.String, java.lang.String) , setUseCaches(boolean)

필드의 개요
protected  boolean allowUserInteraction
          true 의 경우, 이 URL 는 사용자와의 대화 처리 (인증 다이얼로그의 pop-up등)의 실행이 가능한 문맥으로 검사되고 있습니다.
protected  boolean connected
          false 의 경우, 이 접속 객체는, 지정된 URL 에의 통신 링크를 작성합니다.
protected  boolean doInput
          이 변수는,setDoInput 메소드에 의해 설정됩니다.
protected  boolean doOutput
          이 변수는,setDoOutput 메소드에 의해 설정됩니다.
protected  long ifModifiedSince
          일부의 프로토콜에서는, 특정의 시각보다 나중에 객체가 갱신되어 있지 않은 경우에, 객체의 페치를 생략 할 수가 있습니다.
protected  URL url
          URL 는, World Wide Web 상에 있는 원격 객체를 나타냅니다.
protected  boolean useCaches
          true 의 경우, 프로토콜은, 가능한 경우는 언제라도 캐쉬를 사용할 수 있습니다.
 
생성자 의 개요
protected URLConnection (URL  url)
          지정된 URL 에의 URL 접속을 구축합니다.
 
메소드의 개요
 void addRequestProperty (String  key, String  value)
          키와 값의 페어로 지정된 일반 요구 프로퍼티을 추가합니다.
abstract  void connect ()
          이 URL 가 참조하는 자원에의 통신 링크를 확립합니다 (통신 링크가 확립되어 있지 않은 경우).
 boolean getAllowUserInteraction ()
          이 객체의 allowUserInteraction 필드치를 돌려줍니다.
 int getConnectTimeout ()
          접속 타임 아웃의 설정을 돌려줍니다.
 Object getContent ()
          이 URL 접속의 컨텐츠를 가져옵니다.
 Object getContent (Class [] classes)
          이 URL 접속의 컨텐츠를 가져옵니다.
 String getContentEncoding ()
          content-encoding 헤더 필드의 값을 돌려줍니다.
 int getContentLength ()
          content-length 헤더 필드의 값을 돌려줍니다.
 String getContentType ()
          content-type 헤더 필드의 값을 돌려줍니다.
 long getDate ()
          date 헤더 필드의 값을 돌려줍니다.
static boolean getDefaultAllowUserInteraction ()
          allowUserInteraction 필드의 디폴트 값를 돌려줍니다.
static String getDefaultRequestProperty (String  key)
          추천 되고 있지 않습니다.  URLConnection 의 해당 인스턴스를 취득한 뒤는, 인스턴스 고유의 getRequestProperty 메소드를 사용합니다.
 boolean getDefaultUseCaches ()
          URLConnectionuseCaches 플래그의 디폴트 값를 돌려줍니다.
 boolean getDoInput ()
          이 URLConnectiondoInput 플래그의 값을 돌려줍니다.
 boolean getDoOutput ()
          이 URLConnectiondoOutput 플래그의 값을 돌려줍니다.
 long getExpiration ()
          expires 헤더 필드의 값을 돌려줍니다.
static FileNameMap getFileNameMap ()
          데이터 파일로부터 파일명 맵 (mimetable)을 로드합니다.
 String getHeaderField (int n)
          n 번째의 헤더 필드의 값을 돌려줍니다.
 String getHeaderField (String  name)
          지정된 헤더 필드의 값을 돌려줍니다.
 long getHeaderFieldDate (String  name, long Default)
          지정된 필드를 일자로서 구문 분석 한 값을 돌려줍니다.
 int getHeaderFieldInt (String  name, int Default)
          지정된 필드를 수치로서 구문 분석 한 값을 돌려줍니다.
 String getHeaderFieldKey (int n)
          n 번째의 헤더 필드의 키를 돌려줍니다.
 Map <String ,List <String >> getHeaderFields ()
          헤더 필드의 변경 불가능한 맵을 돌려줍니다.
 long getIfModifiedSince ()
          이 객체의 ifModifiedSince 필드치를 돌려줍니다.
 InputStream getInputStream ()
          이 접속으로부터의 입력을 받는 입력 스트림을 돌려줍니다.
 long getLastModified ()
          last-modified 헤더 필드의 값을 돌려줍니다.
 OutputStream getOutputStream ()
          이 접속에 기입을 실시하는 출력 스트림을 돌려줍니다.
 Permission getPermission ()
          이 객체가 나타내는 접속을 위해서(때문에) 필요한 액세스권을 나타내는 Permission 객체를 돌려줍니다.
 int getReadTimeout ()
          읽기 타임 아웃의 설정을 돌려줍니다.
 Map <String ,List <String >> getRequestProperties ()
          이 접속의 일반 요구 프로퍼티의 변경 불가능한 맵을 돌려줍니다.
 String getRequestProperty (String  key)
          이 접속의 지정된 일반 요구 프로퍼티의 값을 돌려줍니다.
 URL getURL ()
          이 URLConnectionURL 필드치를 돌려줍니다.
 boolean getUseCaches ()
          이 URLConnectionuseCaches 필드치를 돌려줍니다.
static String guessContentTypeFromName (String  fname)
          URL 의 지정된 「파일」컴퍼넌트를 기본으로, 객체의 컨텐츠형을 추측합니다.
static String guessContentTypeFromStream (InputStream  is)
          입력 스트림의 선두의 문자를 기본으로, 입력 스트림의 종류의 결정을 시도합니다.
 void setAllowUserInteraction (boolean allowuserinteraction)
          이 URLConnectionallowUserInteraction 필드치를 설정합니다.
 void setConnectTimeout (int timeout)
          이 URLConnection 가 참조하는 자원에의 통신 링크의 오픈시에, 지정된 밀리 세컨드 단위의 타임 아웃치가 사용되도록(듯이) 설정합니다.
static void setContentHandlerFactory (ContentHandlerFactory  fac)
          어플리케이션의 ContentHandlerFactory 를 설정합니다.
static void setDefaultAllowUserInteraction (boolean defaultallowuserinteraction)
          장래에 작성되는 모든 URLConnection 객체의 allowUserInteraction 필드에 도착해, 디폴트 값가 지정된 값으로 설정합니다.
static void setDefaultRequestProperty (String  key, String  value)
          추천 되고 있지 않습니다.  URLConnection 의 해당 인스턴스를 취득한 뒤는, 인스턴스 고유의 setRequestProperty 메소드를 사용합니다. 이 메소드를 호출해도, 무슨 효과도 없습니다.
 void setDefaultUseCaches (boolean defaultusecaches)
          useCaches 필드의 디폴트 값를, 지정된 값으로 설정합니다.
 void setDoInput (boolean doinput)
          이 URLConnectiondoInput 필드치를 지정한 값으로 설정합니다.
 void setDoOutput (boolean dooutput)
          이 URLConnectiondoOutput 필드의 값을, 지정된 값으로 설정합니다.
static void setFileNameMap (FileNameMap  map)
          FileNameMap 를 설정합니다.
 void setIfModifiedSince (long ifmodifiedsince)
          이 URLConnectionifModifiedSince 필드치를, 지정된 값으로 설정합니다.
 void setReadTimeout (int timeout)
          읽기 타임 아웃을, 지정된 밀리 세컨드 단위의 타임 아웃으로 설정합니다.
 void setRequestProperty (String  key, String  value)
          일반 요구 프로퍼티을 설정합니다.
 void setUseCaches (boolean usecaches)
          이 URLConnectionuseCaches 필드를, 지정된 값으로 설정합니다.
 String toString ()
          이 URL 접속의 String 표현을 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait
 

필드의 상세

url

protected URL  url
URL 는, World Wide Web 상에 있는 원격 객체를 나타냅니다. 이 원격 객체에 대해서, 접속을 엽니다.  

이 필드의 값에 액세스 하려면 ,getURL 메소드를 사용합니다.  

이 변수의 디폴트 값는,URLConnection 생성자 의 URL 인수의 값입니다.

관련 항목:
getURL() , url

doInput

protected boolean doInput
이 변수는,setDoInput 메소드에 의해 설정됩니다. 그 값은,getDoInput 메소드에 의해 돌려주어집니다.  

URL 접속은, 입력 또는 출력, 혹은 그 양쪽 모두에 대해서 사용할 수 있습니다. doInput 플래그를 true 로 설정했을 경우, 그것은, 어플리케이션이 URL 접속으로부터 데이터를 읽어낼 예정인 것을 나타냅니다.  

이 필드의 디폴트 값는 true 입니다.

관련 항목:
getDoInput() , setDoInput(boolean)

doOutput

protected boolean doOutput
이 변수는,setDoOutput 메소드에 의해 설정됩니다. 그 값은,getDoOutput 메소드에 의해 돌려주어집니다.  

URL 접속은, 입력 또는 출력, 혹은 그 양쪽 모두에 대해서 사용할 수 있습니다. doOutput 플래그를 true 로 설정했을 경우, 그것은, 어플리케이션이 URL 접속에 데이터를 기입할 예정인 것을 나타냅니다.  

이 필드의 디폴트 값는 false 입니다.

관련 항목:
getDoOutput() , setDoOutput(boolean)

allowUserInteraction

protected boolean allowUserInteraction
true 의 경우, 이 URL 는 사용자와의 대화 처리 (인증 다이얼로그의 pop-up등)의 실행이 가능한 문맥으로 검사되고 있습니다. false 의 경우, 사용자와의 대화 처리는 허가되고 있지 않습니다.  

이 필드의 값으로 설정하려면 ,setAllowUserInteraction 메소드를 사용합니다. 그 값은,getAllowUserInteraction 메소드에 의해 돌려주어집니다. 그 디폴트 값는,setDefaultAllowUserInteraction 메소드를 마지막으로 호출했을 때의 인수의 값이 됩니다.

관련 항목:
getAllowUserInteraction() , setAllowUserInteraction(boolean) , setDefaultAllowUserInteraction(boolean)

useCaches

protected boolean useCaches
true 의 경우, 프로토콜은, 가능한 경우는 언제라도 캐쉬를 사용할 수 있습니다. false 의 경우, 프로토콜은 항상, 객체의 신규의 카피를 취득할 필요가 있습니다.  

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

이 필드의 디폴트 값는,setDefaultUseCaches 메소드를 마지막으로 호출했을 때에 지정한 값입니다.

관련 항목:
setUseCaches(boolean) , getUseCaches() , setDefaultUseCaches(boolean)

ifModifiedSince

protected long ifModifiedSince
일부의 프로토콜에서는, 특정의 시각보다 나중에 객체가 갱신되어 있지 않은 경우에, 객체의 페치를 생략 할 수가 있습니다.  

0 이외의 값은, 1970 년 1 월 1 일 GMT 로부터 기산한 밀리 세컨드수를 나타냅니다. 객체가 취득되는 것은, 그 때 각보다 후로 객체가 변경되었을 경우만입니다.  

이 변수는,setIfModifiedSince 메소드에 의해 설정됩니다. 그 값은,getIfModifiedSince 메소드에 의해 돌려주어집니다.  

이 필드의 디폴트 값는 0 (항상 객체를 페치 한다)입니다.

관련 항목:
getIfModifiedSince() , setIfModifiedSince(long)

connected

protected boolean connected
false 의 경우, 이 접속 객체는, 지정된 URL 에의 통신 링크를 작성합니다. true 의 경우, 통신 링크가 확립되어 있습니다.

생성자 의 상세

URLConnection

protected URLConnection(URL  url)
지정된 URL 에의 URL 접속을 구축합니다. URL 가 참조하는 객체에의 접속은, 작성되지 않습니다.

파라미터:
url - 지정된 URL
메소드의 상세

getFileNameMap

public static FileNameMap  getFileNameMap()
데이터 파일로부터 파일명 맵 (mimetable)을 로드합니다. 이것은 우선, 「content.types.user.table」프로퍼티으로 정의된 사용자 지정 테이블을 로드하려고 합니다. 그것이 실패했을 경우, 이것은, java 홈의 lib/content-types.properties 에 있는 디폴트의 편입 테이블을 로드하려고 합니다.

반환값:
FileNameMap
도입된 버젼:
1.2
관련 항목:
setFileNameMap(java.net.FileNameMap)

setFileNameMap

public static void setFileNameMap(FileNameMap  map)
FileNameMap 를 설정합니다.  

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

파라미터:
map - 설정하는 FileNameMap
예외:
SecurityException - 시큐리티 매니저가 존재해, 그 checkSetFactory 메소드가 이 조작을 허가하지 않는 경우
도입된 버젼:
1.2
관련 항목:
SecurityManager.checkSetFactory() , getFileNameMap()

connect

public abstract void connect()
                      throws IOException 
이 URL 가 참조하는 자원에의 통신 링크를 확립합니다 (통신 링크가 확립되어 있지 않은 경우).  

connect 메소드를 호출했을 때에, 접속이 벌써 확립되어 있으면 (connected 필드의 값이 true 이면), 메소드 호출은 무시됩니다.  

URLConnection 객체는 2 개의 단계를 경험합니다. 그것들은 우선 작성되어 다음에 접속됩니다. 작성되고 나서 접속될 때까지 는, doInput 나 useCaches 등, 다양한 옵션을 지정할 수 있습니다. 접속 후에 그것들을 설정하려고 하면(자), 에러가 발생합니다. getContentLength 등의, 접속되고 있는 것에 의존하는 조작은, 필요에 따라서 암묵적으로 접속을 실행합니다.

예외:
SocketTimeoutException - 접속이 확립되기 전에 타임 아웃이 지났을 경우
IOException - 접속의 오픈중에 입출력 에러가 발생했을 경우
관련 항목:
connected , getConnectTimeout() , setConnectTimeout(int)

setConnectTimeout

public void setConnectTimeout(int timeout)
이 URLConnection 가 참조하는 자원에의 통신 링크의 오픈시에, 지정된 밀리 세컨드 단위의 타임 아웃치가 사용되도록(듯이) 설정합니다. 접속이 확립되기 전에 타임 아웃이 지났을 경우는, java.net.SocketTimeoutException 가 발행됩니다. 타임 아웃 0 은 무한의 타임 아웃으로서 해석됩니다.

이 메소드의 비표준 구현 속에는, 지정된 타임 아웃을 무시하는 것도 있습니다. 설정되어 있는 접속 타임 아웃을 확인하려면 , getConnectTimeout()를 호출해 주세요.

파라미터:
timeout - 밀리 세컨드 단위의 접속 타임 아웃치를 나타내는 int
예외:
IllegalArgumentException - timeout 파라미터가 부의 경우
도입된 버젼:
1.5
관련 항목:
getConnectTimeout() , connect()

getConnectTimeout

public int getConnectTimeout()
접속 타임 아웃의 설정을 돌려줍니다.  

이 옵션이 무효 (타임 아웃이 무한)의 경우는 0 을 돌려줍니다.

반환값:
밀리 세컨드 단위의 접속 타임 아웃치를 나타내는 int
도입된 버젼:
1.5
관련 항목:
setConnectTimeout(int) , connect()

setReadTimeout

public void setReadTimeout(int timeout)
읽기 타임 아웃을, 지정된 밀리 세컨드 단위의 타임 아웃으로 설정합니다. 0 이외의 값은, 자원에의 접속이 확립되어 있는 경우의, 입력 스트림로부터의 읽기 타임 아웃을 지정합니다. 데이터가 읽어내 가능하게 되기 전에 타임 아웃이 지났을 경우는, java.net.SocketTimeoutException 가 발행됩니다. 타임 아웃 0 은 무한의 타임 아웃으로서 해석됩니다.

이 메소드의 비표준 구현 속에는, 지정된 타임 아웃을 무시하는 것도 있습니다. 설정되어 있는 읽기 타임 아웃을 확인하려면 , getReadTimeout()를 호출해 주세요.

파라미터:
timeout - 사용해야 할 밀리 세컨드 단위의 타임 아웃치를 지정하는 int
예외:
IllegalArgumentException - timeout 파라미터가 부의 경우
도입된 버젼:
1.5
관련 항목:
getReadTimeout() , InputStream.read()

getReadTimeout

public int getReadTimeout()
읽기 타임 아웃의 설정을 돌려줍니다. 이 옵션이 무효 (타임 아웃이 무한)의 경우는 0 을 돌려줍니다.

반환값:
밀리 세컨드 단위의 읽기 타임 아웃치를 나타내는 int
도입된 버젼:
1.5
관련 항목:
setReadTimeout(int) , InputStream.read()

getURL

public URL  getURL()
URLConnectionURL 필드치를 돌려줍니다.

반환값:
URLConnectionURL 필드치
관련 항목:
url

getContentLength

public int getContentLength()
content-length 헤더 필드의 값을 돌려줍니다.

반환값:
이 접속의 URL 가 참조하는 자원의 컨텐츠장. 컨텐츠장이 불명의 경우는 -1

getContentType

public String  getContentType()
content-type 헤더 필드의 값을 돌려줍니다.

반환값:
URL 가 참조하는 자원의 컨텐츠 형식. 불명의 경우는 null
관련 항목:
getHeaderField(java.lang.String)

getContentEncoding

public String  getContentEncoding()
content-encoding 헤더 필드의 값을 돌려줍니다.

반환값:
URL 가 참조하는 자원의 컨텐츠 인코딩. 불명의 경우는 null
관련 항목:
getHeaderField(java.lang.String)

getExpiration

public long getExpiration()
expires 헤더 필드의 값을 돌려줍니다.

반환값:
이 URL 가 참조하는 자원의 유효기간일. 불명의 경우는 0. 이 값은, 1970 년 1 월 1 일 GMT 로부터의 밀리 세컨드수
관련 항목:
getHeaderField(java.lang.String)

getDate

public long getDate()
date 헤더 필드의 값을 돌려줍니다.

반환값:
URL 가 참조하는 자원의 송신일. 불명의 경우는 0. 반환되는 값은, 1970 년 1 월 1 일 GMT 로부터의 밀리 세컨드수
관련 항목:
getHeaderField(java.lang.String)

getLastModified

public long getLastModified()
last-modified 헤더 필드의 값을 돌려줍니다. 결과는, 1970 년 1 월 1 일 GMT 로부터의 밀리 세컨드수입니다.

반환값:
URLConnection 가 참조하는 자원이 마지막에 변경된 일자. 불명의 경우는 0
관련 항목:
getHeaderField(java.lang.String)

getHeaderField

public String  getHeaderField(String  name)
지정된 헤더 필드의 값을 돌려줍니다.  

같은 헤더를 다른 값으로 여러 차례 설정할 가능성이 있는 접속으로 불려 가는 경우는, 마지막 값만이 돌려주어집니다.

파라미터:
name - 헤더 필드의 이름
반환값:
지정된 헤더 필드의 이름. 지정된 이름을 가지는 필드가 헤더내에 없는 경우는 null

getHeaderFields

public Map <String ,List <String >> getHeaderFields()
헤더 필드의 변경 불가능한 맵을 돌려줍니다. 맵의 키는, 응답 헤더의 필드명을 나타내는 String 입니다. 맵의 각 치는 변경 불가능한 String 의 리스트이며, 대응하는 필드의 값을 나타냅니다.

반환값:
헤더 필드의 맵
도입된 버젼:
1.4

getHeaderFieldInt

public int getHeaderFieldInt(String  name,
                             int Default)
지정된 필드를 수치로서 구문 분석 한 값을 돌려줍니다.  

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

파라미터:
name - 헤더 필드의 이름
Default - 디폴트 값
반환값:
지정된 필드의 값을 정수로서 구문 분석 한 것. 그 필드가 발견되지 않는가 형식이 부정한 경우에는,Default 치가 반환된다

getHeaderFieldDate

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

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

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

getHeaderFieldKey

public String  getHeaderFieldKey(int n)
n 번째의 헤더 필드의 키를 돌려줍니다. 필드수가 n+1 개보다 적은 경우는 null 를 돌려줍니다.

파라미터:
n - 인덱스. 여기서 n 는 0 이상
반환값:
n 번째의 헤더 필드의 키. 필드수가 n+1 개보다 적은 경우는 null

getHeaderField

public String  getHeaderField(int n)
n 번째의 헤더 필드의 값을 돌려줍니다. 필드수가 n+1 개보다 적은 경우는 null 를 돌려줍니다.  

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

파라미터:
n - 인덱스. 여기서 n 는 0 이상
반환값:
n 번째의 헤더 필드의 값. 필드수가 n+1 개보다 적은 경우는 null
관련 항목:
getHeaderFieldKey(int)

getContent

public Object  getContent()
                  throws IOException 
이 URL 접속의 컨텐츠를 가져옵니다.  

이 메소드에서는 최초로 getContentType 메소드를 호출해, 객체의 정보의 종류를 판별합니다. 어플리케이션으로 그 종류의 내용을 보는 것이 처음의 경우는, 그 종류의 정보 헤더가 작성됩니다.

  1. 어플리케이션으로 setContentHandlerFactory 메소드를 사용해 ContentHandler 팩토리의 인스턴스가 셋업 되고 있는 경우는, 그 인스턴스의 createContentHandler 메소드를 호출해, 내용의 종류를 인수로서 건네준다. 그 결과, 그 내용의 종류의 ContentHandler 가 반환된다
  2. ContentHandler 팩토리가 셋업되어 있지 않은 경우, 또는 팩토리의 createContentHandler 메소드가 null 를 돌려주는 경우, 어플리케이션은 다음의 이름의 클래스를 로드한다
             sun.net.www.content. <contentType>
         
    이 예에서는, <contentType> 는, 내용의 종류를 나타내는 캐릭터 라인의 slash 문자를 모두 피리어드 ( 「.」)에 치환해, 알파벳 이외의 모든 문자를 밑줄 문자 「_」에 치환하는 것에 의해 생성된다. 알파벳 문자란, 26 개의 대문자의 ASCII 문자 ( 「A」로부터 「Z」까지), 26 개의 소문자의 ASCII 문자 ( 「a」로부터 「z」까지, 및 10 개의 ASCII 숫자 ( 「0」으로부터 「9」까지)를 나타낸다. 지정한 클래스가 존재하지 않는 경우, 또는 ContentHandler 의 서브 클래스가 아닌 경우는,UnknownServiceException 가 throw 된다

반환값:
취득된 객체. 반환된 객체의 종류를 판정하려면 ,instanceof 연산자를 사용하는 것을 추천한다
예외:
IOException - 컨텐츠의 취득중에 입출력 에러가 발생했을 경우
UnknownServiceException - 프로토콜이 그 컨텐츠 타입을 지원하고 있지 않는 경우
관련 항목:
ContentHandlerFactory.createContentHandler(java.lang.String) , getContentType() , setContentHandlerFactory(java.net.ContentHandlerFactory)

getContent

public Object  getContent(Class [] classes)
                  throws IOException 
이 URL 접속의 컨텐츠를 가져옵니다.

파라미터:
classes - 요구된 형태를 나타내는 Class 배열
반환값:
클래스의 배열로 지정된 형태가 최초로 일치한, 취득한 객체. 요구된 형태가 지원되어 있지 않은 경우는 null. 반환된 객체의 종류를 판정하려면 ,instanceof 연산자를 사용하는 것을 추천한다
예외:
IOException - 컨텐츠의 취득중에 입출력 에러가 발생했을 경우
UnknownServiceException - 프로토콜이 그 컨텐츠 타입을 지원하고 있지 않는 경우
도입된 버젼:
1.3
관련 항목:
getContent() , ContentHandlerFactory.createContentHandler(java.lang.String) , getContent(java.lang.Class[]) , setContentHandlerFactory(java.net.ContentHandlerFactory)

getPermission

public Permission  getPermission()
                         throws IOException 
이 객체가 나타내는 접속을 위해서(때문에) 필요한 액세스권을 나타내는 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 번째의 경우, 액세스권은 접속전에 취득 및 테스트됩니다.

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

getInputStream

public InputStream  getInputStream()
                           throws IOException 
이 접속으로부터의 입력을 받는 입력 스트림을 돌려줍니다. 반환된 입력 스트림로부터의 읽기시에, 데이터가 읽어내 가능하게 되기 전에 읽어내 타임 아웃이 지났을 경우, SocketTimeoutException 가 throw 됩니다.

반환값:
이 접속으로부터의 입력을 받는 입력 스트림
예외:
IOException - 입력 스트림의 작성중에 입출력 에러가 발생했을 경우
UnknownServiceException - 프로토콜이 입력을 지원하고 있지 않는 경우
관련 항목:
setReadTimeout(int) , getReadTimeout()

getOutputStream

public OutputStream  getOutputStream()
                             throws IOException 
이 접속에 기입을 실시하는 출력 스트림을 돌려줍니다.

반환값:
이 접속에 기입을 실시하는 출력 스트림
예외:
IOException - 출력 스트림의 작성중에 입출력 에러가 발생했을 경우
UnknownServiceException - 프로토콜이 출력을 지원하고 있지 않는 경우

toString

public String  toString()
이 URL 접속의 String 표현을 돌려줍니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
URLConnection 의 캐릭터 라인 표현

setDoInput

public void setDoInput(boolean doinput)
URLConnectiondoInput 필드치를 지정한 값으로 설정합니다.  

URL 접속은, 입력 또는 출력, 혹은 그 양쪽 모두에 대해서 사용할 수 있습니다. URL 접속을 입력용으로서 사용할 예정인 경우는 doInput 플래그를 true 로 설정해, 그렇지 않은 경우는 false 로 설정합니다. 디폴트는 true 입니다.

파라미터:
doinput - 새로운 값
예외:
IllegalStateException - 벌써 접속되고 있는 경우
관련 항목:
doInput , getDoInput()

getDoInput

public boolean getDoInput()
URLConnectiondoInput 플래그의 값을 돌려줍니다.

반환값:
URLConnectiondoInput 플래그의 값
관련 항목:
setDoInput(boolean)

setDoOutput

public void setDoOutput(boolean dooutput)
URLConnectiondoOutput 필드의 값을, 지정된 값으로 설정합니다.  

URL 접속은, 입력 또는 출력, 혹은 그 양쪽 모두에 대해서 사용할 수 있습니다. URL 접속을 출력용으로서 사용할 예정인 경우는 doOutput 플래그를 true 로 설정해, 그렇지 않은 경우는 false 로 설정합니다. 디폴트는 false 입니다.

파라미터:
dooutput - 새로운 값
예외:
IllegalStateException - 벌써 접속되고 있는 경우
관련 항목:
getDoOutput()

getDoOutput

public boolean getDoOutput()
URLConnectiondoOutput 플래그의 값을 돌려줍니다.

반환값:
URLConnectiondoOutput 플래그의 값
관련 항목:
setDoOutput(boolean)

setAllowUserInteraction

public void setAllowUserInteraction(boolean allowuserinteraction)
URLConnectionallowUserInteraction 필드치를 설정합니다.

파라미터:
allowuserinteraction - 새로운 값
예외:
IllegalStateException - 벌써 접속되고 있는 경우
관련 항목:
getAllowUserInteraction()

getAllowUserInteraction

public boolean getAllowUserInteraction()
이 객체의 allowUserInteraction 필드치를 돌려줍니다.

반환값:
이 객체의 allowUserInteraction 필드치
관련 항목:
setAllowUserInteraction(boolean)

setDefaultAllowUserInteraction

public static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
장래에 작성되는 모든 URLConnection 객체의 allowUserInteraction 필드에 도착해, 디폴트 값가 지정된 값으로 설정합니다.

파라미터:
defaultallowuserinteraction - 새로운 값
관련 항목:
getDefaultAllowUserInteraction()

getDefaultAllowUserInteraction

public static boolean getDefaultAllowUserInteraction()
allowUserInteraction 필드의 디폴트 값를 돌려줍니다.  

디폴트 값는 「sticky」(모든 URLConnection 의 정적인 상태의 일부)입니다. 이 플래그는, 다음번 이후에 작성되는 모든 URLConnection 에 대해서 적용됩니다.

반환값:
allowUserInteraction 필드의 디폴트 값
관련 항목:
setDefaultAllowUserInteraction(boolean)

setUseCaches

public void setUseCaches(boolean usecaches)
URLConnectionuseCaches 필드를, 지정된 값으로 설정합니다.  

프로토콜에 따라서는 문서의 캐싱을 실시하는 경우가 있습니다. 경우에 따라서는 캐쉬를 무시해 정보를 전송 하는 (브라우저의 「다시 읽기」버튼 등) 일이 중요한 일도 있습니다. 접속의 useCaches 플래그가 true 의 경우, 접속은, 가능한 경우는 언제라도 캐쉬를 사용할 수 있습니다. false 의 경우, 캐쉬는 무시됩니다. 디폴트 값는 DefaultUseCaches 의 값에 의해 정해집니다만, DefaultUseCaches 의 디폴트 값는 true 입니다.

파라미터:
usecaches - 캐쉬에의 기입이 가능한가 어떤가를 나타내는 boolean
예외:
IllegalStateException - 벌써 접속되고 있는 경우
관련 항목:
getUseCaches()

getUseCaches

public boolean getUseCaches()
URLConnectionuseCaches 필드치를 돌려줍니다.

반환값:
URLConnectionuseCaches 필드치
관련 항목:
setUseCaches(boolean)

setIfModifiedSince

public void setIfModifiedSince(long ifmodifiedsince)
URLConnectionifModifiedSince 필드치를, 지정된 값으로 설정합니다.

파라미터:
ifmodifiedsince - 새로운 값
예외:
IllegalStateException - 벌써 접속되고 있는 경우
관련 항목:
getIfModifiedSince()

getIfModifiedSince

public long getIfModifiedSince()
이 객체의 ifModifiedSince 필드치를 돌려줍니다.

반환값:
이 객체의 ifModifiedSince 필드치
관련 항목:
setIfModifiedSince(long)

getDefaultUseCaches

public boolean getDefaultUseCaches()
URLConnectionuseCaches 플래그의 디폴트 값를 돌려줍니다.  

디폴트 값는 「sticky」(모든 URLConnection 의 정적인 상태의 일부)입니다. 이 플래그는, 다음번 이후에 작성되는 모든 URLConnection 에 대해서 적용됩니다.

반환값:
URLConnectionuseCaches 플래그의 디폴트 값
관련 항목:
setDefaultUseCaches(boolean)

setDefaultUseCaches

public void setDefaultUseCaches(boolean defaultusecaches)
useCaches 필드의 디폴트 값를, 지정된 값으로 설정합니다.

파라미터:
defaultusecaches - 새로운 값
관련 항목:
getDefaultUseCaches()

setRequestProperty

public void setRequestProperty(String  key,
                               String  value)
일반 요구 프로퍼티을 설정합니다. 이 키를 가지는 프로퍼티이 벌써 존재하는 경우는, 그 값을 새로운 값으로 덧쓰기합니다.

주:복수의 프로퍼티을 1 개의 프로퍼티에 부가할 수 있도록(듯이) 하는, 콤마로 단락지어진 리스트 구문을 사용하기 위해서, HTTP 는, 같은 키로 복수의 인스턴스를 정당하게 가질 수 있는 요구 프로퍼티을 모두 필요로 합니다.

파라미터:
key - 요구를 식별하는 키워드 ( 「accept」 등)
value - 키워드에 관련한 값
예외:
IllegalStateException - 벌써 접속되고 있는 경우
NullPointerException - 키가 null 의 경우
관련 항목:
getRequestProperty(java.lang.String)

addRequestProperty

public void addRequestProperty(String  key,
                               String  value)
키와 값의 페어로 지정된 일반 요구 프로퍼티을 추가합니다. 이 메소드는, 같은 키에 관련지을 수 있고 있는 기존의 값을 덧쓰기하지 않습니다.

파라미터:
key - 요구를 식별하는 키워드 ( 「accept」 등)
value - 키워드에 관련한 값
예외:
IllegalStateException - 벌써 접속되고 있는 경우
NullPointerException - 키가 null 의 경우
도입된 버젼:
1.4
관련 항목:
getRequestProperties()

getRequestProperty

public String  getRequestProperty(String  key)
이 접속의 지정된 일반 요구 프로퍼티의 값을 돌려줍니다.

파라미터:
key - 요구를 식별하는 키워드 ("accept" 등)
반환값:
이 접속의 지정된 일반 요구 프로퍼티의 값. 키가 null 의 경우는 null 가 반환된다
예외:
IllegalStateException - 벌써 접속되고 있는 경우
관련 항목:
setRequestProperty(java.lang.String, java.lang.String)

getRequestProperties

public Map <String ,List <String >> getRequestProperties()
이 접속의 일반 요구 프로퍼티의 변경 불가능한 맵을 돌려줍니다. 맵의 키는, 요구 헤더의 필드명을 나타내는 String 입니다. 맵의 각 치는 변경 불가능한 String 의 리스트이며, 대응하는 필드의 값을 나타냅니다.

반환값:
이 접속의 일반 요구 프로퍼티의 맵
예외:
IllegalStateException - 벌써 접속되고 있는 경우
도입된 버젼:
1.4

setDefaultRequestProperty

@Deprecated 
public static void setDefaultRequestProperty(String  key,
                                                        String  value)
추천 되고 있지 않습니다.  URLConnection 의 해당 인스턴스를 취득한 뒤는, 인스턴스 고유의 setRequestProperty 메소드를 사용합니다. 이 메소드를 호출해도, 무슨 효과도 없습니다.

일반 요구 프로퍼티의 디폴트 값를 설정합니다. URLConnection 는 그 작성시에, 이러한 프로퍼티을 사용해 초기화됩니다.

파라미터:
key - 요구를 식별하는 키워드 ( 「accept」 등)
value - 키워드에 관련한 값
관련 항목:
setRequestProperty(java.lang.String, java.lang.String) , getDefaultRequestProperty(java.lang.String)

getDefaultRequestProperty

@Deprecated 
public static String  getDefaultRequestProperty(String  key)
추천 되고 있지 않습니다.  URLConnection 의 해당 인스턴스를 취득한 뒤는, 인스턴스 고유의 getRequestProperty 메소드를 사용합니다.

디폴트 요구 프로퍼티의 값을 돌려줍니다. 디폴트의 요구 프로퍼티은 모든 접속으로 설정되어 있습니다.

파라미터:
key - 요구를 식별하는 키워드 ("accept" 등)
반환값:
지정된 키에 대한 디폴트 요구 프로퍼티의 값
관련 항목:
getRequestProperty(java.lang.String) , setDefaultRequestProperty(java.lang.String, java.lang.String)

setContentHandlerFactory

public static void setContentHandlerFactory(ContentHandlerFactory  fac)
어플리케이션의 ContentHandlerFactory 를 설정합니다. 어플리케이션에서는 최대로 1 회 호출할 수가 있습니다.  

컨텐츠의 종류를 기본으로 ContentHandler 를 구축하려면 ContentHandlerFactory 가 사용됩니다.  

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

파라미터:
fac - 목적의 팩토리
예외:
Error - 팩토리가 벌써 정의되고 있는 경우
SecurityException - 시큐리티 매니저가 존재해, 그 checkSetFactory 메소드가 이 조작을 허가하지 않는 경우
관련 항목:
ContentHandlerFactory , getContent() , SecurityManager.checkSetFactory()

guessContentTypeFromName

public static String  guessContentTypeFromName(String  fname)
URL 의 지정된 「파일」컴퍼넌트를 기본으로, 객체의 컨텐츠형을 추측합니다. 이것은,getContentType 메소드를 오버라이드(override) 하는 서브 클래스가 사용 가능한 편리한 메소드입니다.

파라미터:
fname - 파일명
반환값:
파일명을 기본으로 추측한 객체의 컨텐츠형
관련 항목:
getContentType()

guessContentTypeFromStream

public static String  guessContentTypeFromStream(InputStream  is)
                                         throws IOException 
입력 스트림의 선두의 문자를 기본으로, 입력 스트림의 종류의 결정을 시도합니다. getContentType 메소드를 오버라이드(override) 하는 서브 클래스가, 이 메소드를 사용할 수 있습니다.  

이 루틴이 필요없게 되는 것이 이상적입니다. 그러나, 컨텐츠형으로서 부정한 값을 돌려주는 http 서버는 많이 있습니다. 게다가 표준적이 아닌 확장자(extension)도 많이 있습니다. 이 때문에,http 서버가 돌려주는 컨텐츠형을 그대로 받아들이는 것보다도, 데이터를 기본으로 컨텐츠형을 직접 추측한 (분)편이 정확한 경우가 자주 있습니다.

파라미터:
is - 지원가 마크 하는 입력 스트림
반환값:
추측한 컨텐츠형. 추측할 수 없는 경우는 null
예외:
IOException - 입력 스트림의 읽기중에 입출력 에러가 발생했을 경우
관련 항목:
InputStream.mark(int) , InputStream.markSupported() , getContentType()

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 도 참조해 주세요.