|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjava.net.URLConnection
public abstract class URLConnection
abstract 클래스 URLConnection
는, 어플리케이션과 URL 와의 사이의 통신 링크를 나타내는 모든 클래스의 슈퍼 클래스입니다. 이 클래스의 인스턴스를 사용해, URL 로 참조하는 자원의 read와 기입의 양쪽 모두를 실시할 수가 있습니다. 일반적으로, URL 에의 접속의 작성은, 다음과 같은 복수의 순서가 필요합니다.
openConnection() |
connect() |
---|---|
원격 자원에의 접속에 영향을 주는 파라미터를 조작한다 | 자원과의 사이로, 쿼리 헤더 필드 및 컨텐츠를 교환한다 |
openConnection
메소드를 호출하는 것에 의해, 접속 객체를 생성한다
connect
메소드를 사용해, 원격 객체에의 실제의 접속을 확립한다
셋업 파라미터를 수정하려면 다음의 메소드를 사용합니다.
setAllowUserInteraction
setDoInput
setDoOutput
setIfModifiedSince
setUseCaches
일반 요구 프로퍼티을 수정하려면 다음의 메소드를 사용합니다.
setRequestProperty
AllowUserInteraction
파라미터와 UseCaches
파라미터의 디폴트 값를 설정하려면 ,setDefaultAllowUserInteraction
메소드와 setDefaultUseCaches
메소드를 사용합니다.
상기의 set
메소드는 각각 대응하는 get
메소드를 가집니다. 그러한 메소드를 사용하면, 파라미터 또는 일반 요구 프로퍼티의 값을 취득할 수 있습니다. 구체적으로 어느 파라미터나 일반 요구 프로퍼티이 적용 가능한가는, 프로토콜 마다 다릅니다.
원격 객체에의 접속을 확립한 뒤, 헤더 필드와 내용에 액세스 하려면 다음의 메소드를 사용합니다.
getContent
getHeaderField
getInputStream
getOutputStream
일부의 헤더 필드는 빈번하게 액세스 됩니다. 관련하는 메소드를 다음에 나타냅니다.
getContentEncoding
getContentLength
getContentType
getDate
getExpiration
getLastModifed
상기를 사용하면, 이러한 필드에 용이하게 액세스 할 수 있습니다. getContentType
메소드는, 원격 객체의 형태를 판별할 경우에 getContent
메소드에 의해 사용됩니다. 서브 클래스에서는,getContentType
메소드를 오버라이드(override) 하면(자) 편리한 일이 있습니다.
일반적으로의 경우, 접속전의 파라미터와 일반 요구 프로퍼티은 모두, 무시해 괜찮습니다. 접속전의 파라미터와 요구 프로퍼티은 적절한 값에 디폴트 설정됩니다. 이 인터페이스의 대부분의 클라이언트로 관심을 갖게하는 메소드는, 2 개(살) 밖에 없습니다. getInputStream
와 getContent
입니다. 이것들은,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
가, 이 정보에의 액세스용으로서 추가되었습니다. 이 변경에 대해서는,호환성의 페이지에서도 설명되고 있습니다.
요구 후에 URLConnection 의 InputStream 또는 OutputStream 상에서 close() 메소드를 호출하면(자), 특정의 프로토콜 스펙으로 다른 동작이 규정되어 있지 않은 한, 이 인스턴스에 관련지을 수 있었던 네트워크 자원이 해제됩니다.
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 ()
URLConnection 의 useCaches 플래그의 디폴트 값를 돌려줍니다. |
boolean |
getDoInput ()
이 URLConnection 의 doInput 플래그의 값을 돌려줍니다. |
boolean |
getDoOutput ()
이 URLConnection 의 doOutput 플래그의 값을 돌려줍니다. |
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 ()
이 URLConnection 의 URL 필드치를 돌려줍니다. |
boolean |
getUseCaches ()
이 URLConnection 의 useCaches 필드치를 돌려줍니다. |
static String |
guessContentTypeFromName (String fname)
URL 의 지정된 「파일」컴퍼넌트를 기본으로, 객체의 컨텐츠형을 추측합니다. |
static String |
guessContentTypeFromStream (InputStream is)
입력 스트림의 선두의 문자를 기본으로, 입력 스트림의 종류의 결정을 시도합니다. |
void |
setAllowUserInteraction (boolean allowuserinteraction)
이 URLConnection 의 allowUserInteraction 필드치를 설정합니다. |
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)
이 URLConnection 의 doInput 필드치를 지정한 값으로 설정합니다. |
void |
setDoOutput (boolean dooutput)
이 URLConnection 의 doOutput 필드의 값을, 지정된 값으로 설정합니다. |
static void |
setFileNameMap (FileNameMap map)
FileNameMap 를 설정합니다. |
void |
setIfModifiedSince (long ifmodifiedsince)
이 URLConnection 의 ifModifiedSince 필드치를, 지정된 값으로 설정합니다. |
void |
setReadTimeout (int timeout)
읽기 타임 아웃을, 지정된 밀리 세컨드 단위의 타임 아웃으로 설정합니다. |
void |
setRequestProperty (String key,
String value)
일반 요구 프로퍼티을 설정합니다. |
void |
setUseCaches (boolean usecaches)
이 URLConnection 의 useCaches 필드를, 지정된 값으로 설정합니다. |
String |
toString ()
이 URL 접속의 String 표현을 돌려줍니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
필드의 상세 |
---|
protected URL url
이 필드의 값에 액세스 하려면 ,getURL
메소드를 사용합니다.
이 변수의 디폴트 값는,URLConnection
생성자 의 URL 인수의 값입니다.
getURL()
,
url
protected boolean doInput
setDoInput
메소드에 의해 설정됩니다. 그 값은,getDoInput
메소드에 의해 돌려주어집니다.
URL 접속은, 입력 또는 출력, 혹은 그 양쪽 모두에 대해서 사용할 수 있습니다. doInput
플래그를 true
로 설정했을 경우, 그것은, 어플리케이션이 URL 접속으로부터 데이터를 읽어낼 예정인 것을 나타냅니다.
이 필드의 디폴트 값는 true
입니다.
getDoInput()
,
setDoInput(boolean)
protected boolean doOutput
setDoOutput
메소드에 의해 설정됩니다. 그 값은,getDoOutput
메소드에 의해 돌려주어집니다.
URL 접속은, 입력 또는 출력, 혹은 그 양쪽 모두에 대해서 사용할 수 있습니다. doOutput
플래그를 true
로 설정했을 경우, 그것은, 어플리케이션이 URL 접속에 데이터를 기입할 예정인 것을 나타냅니다.
이 필드의 디폴트 값는 false
입니다.
getDoOutput()
,
setDoOutput(boolean)
protected boolean allowUserInteraction
true
의 경우, 이 URL
는 사용자와의 대화 처리 (인증 다이얼로그의 pop-up등)의 실행이 가능한 문맥으로 검사되고 있습니다. false
의 경우, 사용자와의 대화 처리는 허가되고 있지 않습니다.
이 필드의 값으로 설정하려면 ,setAllowUserInteraction
메소드를 사용합니다. 그 값은,getAllowUserInteraction
메소드에 의해 돌려주어집니다. 그 디폴트 값는,setDefaultAllowUserInteraction
메소드를 마지막으로 호출했을 때의 인수의 값이 됩니다.
getAllowUserInteraction()
,
setAllowUserInteraction(boolean)
,
setDefaultAllowUserInteraction(boolean)
protected boolean useCaches
true
의 경우, 프로토콜은, 가능한 경우는 언제라도 캐쉬를 사용할 수 있습니다. false
의 경우, 프로토콜은 항상, 객체의 신규의 카피를 취득할 필요가 있습니다.
이 필드는,setUseCaches
메소드에 의해 설정됩니다. 그 값은,getUseCaches
메소드에 의해 돌려주어집니다.
이 필드의 디폴트 값는,setDefaultUseCaches
메소드를 마지막으로 호출했을 때에 지정한 값입니다.
setUseCaches(boolean)
,
getUseCaches()
,
setDefaultUseCaches(boolean)
protected long ifModifiedSince
0 이외의 값은, 1970 년 1 월 1 일 GMT 로부터 기산한 밀리 세컨드수를 나타냅니다. 객체가 취득되는 것은, 그 때 각보다 후로 객체가 변경되었을 경우만입니다.
이 변수는,setIfModifiedSince
메소드에 의해 설정됩니다. 그 값은,getIfModifiedSince
메소드에 의해 돌려주어집니다.
이 필드의 디폴트 값는 0
(항상 객체를 페치 한다)입니다.
getIfModifiedSince()
,
setIfModifiedSince(long)
protected boolean connected
false
의 경우, 이 접속 객체는, 지정된 URL 에의 통신 링크를 작성합니다. true
의 경우, 통신 링크가 확립되어 있습니다.
생성자 의 상세 |
---|
protected URLConnection(URL url)
url
- 지정된 URL메소드의 상세 |
---|
public static FileNameMap getFileNameMap()
setFileNameMap(java.net.FileNameMap)
public static void setFileNameMap(FileNameMap map)
시큐리티 매니저가 존재하는 경우, 이 메소드는 최초로 시큐리티 매니저의 checkSetFactory
메소드를 호출하는 것으로, 이 조작이 허가되고 있는 것을 확인합니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.
map
- 설정하는 FileNameMap
SecurityException
- 시큐리티 매니저가 존재해, 그 checkSetFactory
메소드가 이 조작을 허가하지 않는 경우SecurityManager.checkSetFactory()
,
getFileNameMap()
public abstract void connect() throws IOException
connect
메소드를 호출했을 때에, 접속이 벌써 확립되어 있으면 (connected
필드의 값이 true
이면), 메소드 호출은 무시됩니다.
URLConnection 객체는 2 개의 단계를 경험합니다. 그것들은 우선 작성되어 다음에 접속됩니다. 작성되고 나서 접속될 때까지 는, doInput 나 useCaches 등, 다양한 옵션을 지정할 수 있습니다. 접속 후에 그것들을 설정하려고 하면(자), 에러가 발생합니다. getContentLength 등의, 접속되고 있는 것에 의존하는 조작은, 필요에 따라서 암묵적으로 접속을 실행합니다.
SocketTimeoutException
- 접속이 확립되기 전에 타임 아웃이 지났을 경우
IOException
- 접속의 오픈중에 입출력 에러가 발생했을 경우connected
,
getConnectTimeout()
,
setConnectTimeout(int)
public void setConnectTimeout(int timeout)
이 메소드의 비표준 구현 속에는, 지정된 타임 아웃을 무시하는 것도 있습니다. 설정되어 있는 접속 타임 아웃을 확인하려면 , getConnectTimeout()를 호출해 주세요.
timeout
- 밀리 세컨드 단위의 접속 타임 아웃치를 나타내는 int
IllegalArgumentException
- timeout 파라미터가 부의 경우getConnectTimeout()
,
connect()
public int getConnectTimeout()
이 옵션이 무효 (타임 아웃이 무한)의 경우는 0 을 돌려줍니다.
int
setConnectTimeout(int)
,
connect()
public void setReadTimeout(int timeout)
이 메소드의 비표준 구현 속에는, 지정된 타임 아웃을 무시하는 것도 있습니다. 설정되어 있는 읽기 타임 아웃을 확인하려면 , getReadTimeout()를 호출해 주세요.
timeout
- 사용해야 할 밀리 세컨드 단위의 타임 아웃치를 지정하는 int
IllegalArgumentException
- timeout 파라미터가 부의 경우getReadTimeout()
,
InputStream.read()
public int getReadTimeout()
int
setReadTimeout(int)
,
InputStream.read()
public URL getURL()
URLConnection
의 URL
필드치를 돌려줍니다.
URLConnection
의 URL
필드치url
public int getContentLength()
content-length
헤더 필드의 값을 돌려줍니다.
-1
public String getContentType()
content-type
헤더 필드의 값을 돌려줍니다.
null
getHeaderField(java.lang.String)
public String getContentEncoding()
content-encoding
헤더 필드의 값을 돌려줍니다.
null
getHeaderField(java.lang.String)
public long getExpiration()
expires
헤더 필드의 값을 돌려줍니다.
getHeaderField(java.lang.String)
public long getDate()
date
헤더 필드의 값을 돌려줍니다.
0
. 반환되는 값은, 1970 년 1 월 1 일 GMT 로부터의 밀리 세컨드수getHeaderField(java.lang.String)
public long getLastModified()
last-modified
헤더 필드의 값을 돌려줍니다. 결과는, 1970 년 1 월 1 일 GMT 로부터의 밀리 세컨드수입니다.
URLConnection
가 참조하는 자원이 마지막에 변경된 일자. 불명의 경우는 0getHeaderField(java.lang.String)
public String getHeaderField(String name)
같은 헤더를 다른 값으로 여러 차례 설정할 가능성이 있는 접속으로 불려 가는 경우는, 마지막 값만이 돌려주어집니다.
name
- 헤더 필드의 이름
null
public Map <String ,List <String >> getHeaderFields()
public int getHeaderFieldInt(String name, int Default)
이 형식의 getHeaderField
가 존재하고 있는 것은, 일부의 접속 타입 (http-ng
등)이 사전에 구문 분석 된 헤더를 가지기 때문입니다. 그러한 접속 타입의 클래스는, 이 메소드를 오버라이드(override) 하는 것으로 구문 분석을 회피할 수가 있습니다.
name
- 헤더 필드의 이름Default
- 디폴트 값
Default
치가 반환된다public long getHeaderFieldDate(String name, long Default)
이 형식의 getHeaderField
가 존재하고 있는 것은, 일부의 접속 타입 (http-ng
등)이 사전에 구문 분석 된 헤더를 가지기 때문입니다. 그러한 접속 타입의 클래스는, 이 메소드를 오버라이드(override) 하는 것으로 구문 분석을 회피할 수가 있습니다.
name
- 헤더 필드의 이름Default
- 디폴트 값
Default
인수의 값이 반환된다public String getHeaderFieldKey(int n)
n
번째의 헤더 필드의 키를 돌려줍니다. 필드수가 n+1
개보다 적은 경우는 null
를 돌려줍니다.
n
- 인덱스. 여기서 n 는 0 이상
n
번째의 헤더 필드의 키. 필드수가 n+1
개보다 적은 경우는 null
public String getHeaderField(int n)
n
번째의 헤더 필드의 값을 돌려줍니다. 필드수가 n+1
개보다 적은 경우는 null
를 돌려줍니다.
이 메소드와 getHeaderFieldKey
메소드를 조합해 사용하면(자), 메세지내의 모든 헤더를 반복 처리 할 수가 있습니다.
n
- 인덱스. 여기서 n 는 0 이상
n
번째의 헤더 필드의 값. 필드수가 n+1
개보다 적은 경우는 null
getHeaderFieldKey(int)
public Object getContent() throws IOException
이 메소드에서는 최초로 getContentType
메소드를 호출해, 객체의 정보의 종류를 판별합니다. 어플리케이션으로 그 종류의 내용을 보는 것이 처음의 경우는, 그 종류의 정보 헤더가 작성됩니다.
setContentHandlerFactory
메소드를 사용해 ContentHandler 팩토리의 인스턴스가 셋업 되고 있는 경우는, 그 인스턴스의 createContentHandler
메소드를 호출해, 내용의 종류를 인수로서 건네준다. 그 결과, 그 내용의 종류의 ContentHandler 가 반환된다
createContentHandler
메소드가 null
를 돌려주는 경우, 어플리케이션은 다음의 이름의 클래스를 로드한다
이 예에서는, <contentType> 는, 내용의 종류를 나타내는 캐릭터 라인의 slash 문자를 모두 피리어드 ( 「.」)에 치환해, 알파벳 이외의 모든 문자를 밑줄 문자 「sun.net.www.content. <contentType>
_
」에 치환하는 것에 의해 생성된다. 알파벳 문자란, 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)
public Object getContent(Class [] classes) throws IOException
classes
- 요구된 형태를 나타내는 Class
배열
instanceof
연산자를 사용하는 것을 추천한다
IOException
- 컨텐츠의 취득중에 입출력 에러가 발생했을 경우
UnknownServiceException
- 프로토콜이 그 컨텐츠 타입을 지원하고 있지 않는 경우getContent()
,
ContentHandlerFactory.createContentHandler(java.lang.String)
,
getContent(java.lang.Class[])
,
setContentHandlerFactory(java.net.ContentHandlerFactory)
public Permission getPermission() throws IOException
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 번째의 경우, 액세스권은 접속전에 취득 및 테스트됩니다.
IOException
- 액세스권의 처리에 네트워크 또는 파일 입출력이 필요한 때에, 처리중에 예외가 발생했을 경우public InputStream getInputStream() throws IOException
IOException
- 입력 스트림의 작성중에 입출력 에러가 발생했을 경우
UnknownServiceException
- 프로토콜이 입력을 지원하고 있지 않는 경우setReadTimeout(int)
,
getReadTimeout()
public OutputStream getOutputStream() throws IOException
IOException
- 출력 스트림의 작성중에 입출력 에러가 발생했을 경우
UnknownServiceException
- 프로토콜이 출력을 지원하고 있지 않는 경우public String toString()
String
표현을 돌려줍니다.
Object
내의 toString
URLConnection
의 캐릭터 라인 표현public void setDoInput(boolean doinput)
URLConnection
의 doInput
필드치를 지정한 값으로 설정합니다. URL 접속은, 입력 또는 출력, 혹은 그 양쪽 모두에 대해서 사용할 수 있습니다. URL 접속을 입력용으로서 사용할 예정인 경우는 doInput 플래그를 true 로 설정해, 그렇지 않은 경우는 false 로 설정합니다. 디폴트는 true 입니다.
doinput
- 새로운 값
IllegalStateException
- 벌써 접속되고 있는 경우doInput
,
getDoInput()
public boolean getDoInput()
URLConnection
의 doInput
플래그의 값을 돌려줍니다.
URLConnection
의 doInput
플래그의 값setDoInput(boolean)
public void setDoOutput(boolean dooutput)
URLConnection
의 doOutput
필드의 값을, 지정된 값으로 설정합니다. URL 접속은, 입력 또는 출력, 혹은 그 양쪽 모두에 대해서 사용할 수 있습니다. URL 접속을 출력용으로서 사용할 예정인 경우는 doOutput 플래그를 true 로 설정해, 그렇지 않은 경우는 false 로 설정합니다. 디폴트는 false 입니다.
dooutput
- 새로운 값
IllegalStateException
- 벌써 접속되고 있는 경우getDoOutput()
public boolean getDoOutput()
URLConnection
의 doOutput
플래그의 값을 돌려줍니다.
URLConnection
의 doOutput
플래그의 값setDoOutput(boolean)
public void setAllowUserInteraction(boolean allowuserinteraction)
URLConnection
의 allowUserInteraction
필드치를 설정합니다.
allowuserinteraction
- 새로운 값
IllegalStateException
- 벌써 접속되고 있는 경우getAllowUserInteraction()
public boolean getAllowUserInteraction()
allowUserInteraction
필드치를 돌려줍니다.
allowUserInteraction
필드치setAllowUserInteraction(boolean)
public static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
URLConnection
객체의 allowUserInteraction
필드에 도착해, 디폴트 값가 지정된 값으로 설정합니다.
defaultallowuserinteraction
- 새로운 값getDefaultAllowUserInteraction()
public static boolean getDefaultAllowUserInteraction()
allowUserInteraction
필드의 디폴트 값를 돌려줍니다. 디폴트 값는 「sticky」(모든 URLConnection 의 정적인 상태의 일부)입니다. 이 플래그는, 다음번 이후에 작성되는 모든 URLConnection 에 대해서 적용됩니다.
allowUserInteraction
필드의 디폴트 값setDefaultAllowUserInteraction(boolean)
public void setUseCaches(boolean usecaches)
URLConnection
의 useCaches
필드를, 지정된 값으로 설정합니다. 프로토콜에 따라서는 문서의 캐싱을 실시하는 경우가 있습니다. 경우에 따라서는 캐쉬를 무시해 정보를 전송 하는 (브라우저의 「다시 읽기」버튼 등) 일이 중요한 일도 있습니다. 접속의 useCaches 플래그가 true 의 경우, 접속은, 가능한 경우는 언제라도 캐쉬를 사용할 수 있습니다. false 의 경우, 캐쉬는 무시됩니다. 디폴트 값는 DefaultUseCaches 의 값에 의해 정해집니다만, DefaultUseCaches 의 디폴트 값는 true 입니다.
usecaches
- 캐쉬에의 기입이 가능한가 어떤가를 나타내는 boolean
치
IllegalStateException
- 벌써 접속되고 있는 경우getUseCaches()
public boolean getUseCaches()
URLConnection
의 useCaches
필드치를 돌려줍니다.
URLConnection
의 useCaches
필드치setUseCaches(boolean)
public void setIfModifiedSince(long ifmodifiedsince)
URLConnection
의 ifModifiedSince
필드치를, 지정된 값으로 설정합니다.
ifmodifiedsince
- 새로운 값
IllegalStateException
- 벌써 접속되고 있는 경우getIfModifiedSince()
public long getIfModifiedSince()
ifModifiedSince
필드치를 돌려줍니다.
ifModifiedSince
필드치setIfModifiedSince(long)
public boolean getDefaultUseCaches()
URLConnection
의 useCaches
플래그의 디폴트 값를 돌려줍니다. 디폴트 값는 「sticky」(모든 URLConnection 의 정적인 상태의 일부)입니다. 이 플래그는, 다음번 이후에 작성되는 모든 URLConnection 에 대해서 적용됩니다.
URLConnection
의 useCaches
플래그의 디폴트 값setDefaultUseCaches(boolean)
public void setDefaultUseCaches(boolean defaultusecaches)
useCaches
필드의 디폴트 값를, 지정된 값으로 설정합니다.
defaultusecaches
- 새로운 값getDefaultUseCaches()
public void setRequestProperty(String key, String value)
주:복수의 프로퍼티을 1 개의 프로퍼티에 부가할 수 있도록(듯이) 하는, 콤마로 단락지어진 리스트 구문을 사용하기 위해서, HTTP 는, 같은 키로 복수의 인스턴스를 정당하게 가질 수 있는 요구 프로퍼티을 모두 필요로 합니다.
key
- 요구를 식별하는 키워드 ( 「accept
」 등)value
- 키워드에 관련한 값
IllegalStateException
- 벌써 접속되고 있는 경우
NullPointerException
- 키가 null
의 경우getRequestProperty(java.lang.String)
public void addRequestProperty(String key, String value)
key
- 요구를 식별하는 키워드 ( 「accept
」 등)value
- 키워드에 관련한 값
IllegalStateException
- 벌써 접속되고 있는 경우
NullPointerException
- 키가 null 의 경우getRequestProperties()
public String getRequestProperty(String key)
key
- 요구를 식별하는 키워드 ("accept" 등)
IllegalStateException
- 벌써 접속되고 있는 경우setRequestProperty(java.lang.String, java.lang.String)
public Map <String ,List <String >> getRequestProperties()
IllegalStateException
- 벌써 접속되고 있는 경우@Deprecated public static void setDefaultRequestProperty(String key, String value)
URLConnection
는 그 작성시에, 이러한 프로퍼티을 사용해 초기화됩니다.
key
- 요구를 식별하는 키워드 ( 「accept
」 등)value
- 키워드에 관련한 값setRequestProperty(java.lang.String, java.lang.String)
,
getDefaultRequestProperty(java.lang.String)
@Deprecated public static String getDefaultRequestProperty(String key)
key
- 요구를 식별하는 키워드 ("accept" 등)
getRequestProperty(java.lang.String)
,
setDefaultRequestProperty(java.lang.String, java.lang.String)
public static void setContentHandlerFactory(ContentHandlerFactory fac)
ContentHandlerFactory
를 설정합니다. 어플리케이션에서는 최대로 1 회 호출할 수가 있습니다.
컨텐츠의 종류를 기본으로 ContentHandler 를 구축하려면 ContentHandlerFactory
가 사용됩니다.
시큐리티 매니저가 존재하는 경우, 이 메소드는 최초로 시큐리티 매니저의 checkSetFactory
메소드를 호출하는 것으로, 이 조작이 허가되고 있는 것을 확인합니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.
fac
- 목적의 팩토리
Error
- 팩토리가 벌써 정의되고 있는 경우
SecurityException
- 시큐리티 매니저가 존재해, 그 checkSetFactory
메소드가 이 조작을 허가하지 않는 경우ContentHandlerFactory
,
getContent()
,
SecurityManager.checkSetFactory()
public static String guessContentTypeFromName(String fname)
getContentType
메소드를 오버라이드(override) 하는 서브 클래스가 사용 가능한 편리한 메소드입니다.
fname
- 파일명
getContentType()
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 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.