JavaTM Platform
Standard Ed. 6

java.net
�� URLConnection

java.lang.Object
  �̳��� java.net.URLConnection
ֱ����֪���ࣺ
HttpURLConnection, JarURLConnection

public abstract class URLConnection
extends Object

������ URLConnection ��������ij��࣬������Ӧ�ó���� URL ֮���ͨ�����ӡ������ʵ�������ڶ�ȡ��д��� URL ���õ���Դ��ͨ��������һ���� URL ��������Ҫ�������裺

openConnection() connect()
��Ӱ�쵽Զ����Դ���ӵIJ������в����� ����Դ��������ѯͷ�ֶκ����ݡ�
---------------------------->
ʱ��
  1. ͨ���� URL �ϵ��� openConnection �����������Ӷ���
  2. �������ò�����һ���������ԡ�
  3. ʹ�� connect ����������Զ�̶����ʵ�����ӡ�
  4. Զ�̶����Ϊ���á�Զ�̶����ͷ�ֶκ����ݱ�Ϊ�ɷ��ʡ�

ʹ�����·����޸����ò�����

ʹ�����·����޸�һ���������ԣ�

ʹ�� setDefaultAllowUserInteraction �� setDefaultUseCaches ������ AllowUserInteraction �� UseCaches ������Ĭ��ֵ��

����ÿ�� set ��������һ�����ڻ�ȡ����ֵ��һ����������ֵ�Ķ�Ӧ get ���������õľ��������һ����������ȡ����Э�顣

�ڽ�����Զ�̶�������Ӻ����·������ڷ���ͷ�ֶκ����ݣ�

ijЩͷ�ֶ���Ҫ�������ʡ����·�����

�ṩ����Щ�ֶεı�ݷ��ʡ�getContent ����ʹ�� getContentType ������ȷ��Զ�̶������ͣ�������д getContentType ���������ס�

һ������£����е�Ԥ���Ӳ�����һ���������Զ��ɺ��ԣ�Ԥ���Ӳ�����һ����������Ĭ��Ϊ����ֵ�����ڴ˽ӿڵĴ�����ͻ��˶��ԣ�ֻ��������Ҫ�ķ�����getInputStream �� getContent������ͨ����ݷ������� URL ���С�

�й� http ���ӵ��������Ժ�ͷ�ֶεĸ�����Ϣ���ɴ�����λ���ҵ���

 http://www.ietf.org/rfc/rfc2068.txt
 
�й� fileNameMap ��ע������� JDK 1.1.6 ��ǰ�İ汾�У�URLConnection �� fileNameMap �ֶ��ǹ����ġ��� JDK 1.1.6 ���Ժ�İ汾�У�fileNameMap �ֶ���˽�еģ����������� accessor ������ mutator ���� getFileNameMap �� setFileNameMap �Ա���ʡ�Compatibility ҳ��Ҳ�Դ˸��Ľ����˽��ܡ� ����������һ�� URLConnection �� InputStream �� 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 ���м�顣
protected  boolean connected
          ���Ϊ false��������Ӷ�����δ������ָ�� URL ��ͨ�����ӡ�
protected  boolean doInput
          �˱����� setDoInput �������á�
protected  boolean doOutput
          �˱����� setDoOutput �������á�
protected  long ifModifiedSince
          ��ЩЭ��֧�����������ȡ�����Ǹö�����ij���ض�ʱ���֮���ֽ������޸ġ�
protected  URL url
          URL ��ʾ������Ҫ�ڻ������ϴ򿪵�Զ�̶���
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()
          ����ͷ�ֶεIJ����޸ĵ� Map��
 long getIfModifiedSince()
          ���ش˶���� ifModifiedSince �ֶε�ֵ��
 InputStream getInputStream()
          ���شӴ˴򿪵����Ӷ�ȡ����������
 long getLastModified()
          ���� last-modified ͷ�ֶε�ֵ��
 OutputStream getOutputStream()
          ����д�뵽�����ӵ��������
 Permission getPermission()
          ����һ��Ȩ�޶�������������˶����ʾ�����������Ȩ�ޡ�
 int getReadTimeout()
          ���ض��볬ʱ���á�
 Map<String,List<String>> getRequestProperties()
          ����һ���ɴ����ӵ�һ���������Թ��ɵIJ����޸ĵ� Map��
 String getRequestProperty(String key)
          ���ش�����ָ����һ����������ֵ��
 URL getURL()
          ���ش� URLConnection �� URL �ֶε�ֵ��
 boolean getUseCaches()
          ���ش� URLConnection �� useCaches �ֶε�ֵ��
static String guessContentTypeFromName(String fname)
          ���� URL ��ָ�� "file" ���ֳ���ȷ��������������͡�
static String guessContentTypeFromStream(InputStream is)
          �����������Ŀ�ʼ�ַ�����ȷ�������������͡�
 void setAllowUserInteraction(boolean allowuserinteraction)
          ���ô� URLConnection �� allowUserInteraction �ֶε�ֵ��
 void setConnectTimeout(int timeout)
          ����һ��ָ���ij�ʱֵ���Ժ���Ϊ��λ������ֵ���ڴ򿪵��� 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)
          ������ʱ����Ϊָ���ij�ʱֵ���Ժ���Ϊ��λ��
 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
 

�ֶ���ϸ��Ϣ

url

protected URL url
URL ��ʾ������Ҫ�ڻ������ϴ򿪵�Զ�̶���

ʹ�� 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 ���м�顣���Ϊ false�����������κ��û�������

ʹ�� setAllowUserInteraction �����ɶԴ��ֶε�ֵ�������á���ֵ�� getAllowUserInteraction �������ء���Ĭ��ֵΪ��һ�ε��� setDefaultAllowUserInteraction �������õIJ�����ֵ��

������
getAllowUserInteraction(), setAllowUserInteraction(boolean), setDefaultAllowUserInteraction(boolean)

useCaches

protected boolean useCaches
���Ϊ true����ֻҪ������������Э��ʹ�û��档���Ϊ false�����Э��ʼ�ձ����ô˶�����¸�����

���ֶ��� setUseCaches �������á���ֵ�� getUseCaches �������ء�

��Ĭ��ֵΪ��һ�ε��� setDefaultUseCaches ����ʱ������ֵ��

������
setUseCaches(boolean), getUseCaches(), setDefaultUseCaches(boolean)

ifModifiedSince

protected long ifModifiedSince
��ЩЭ��֧�����������ȡ�����Ǹö�����ij���ض�ʱ���֮���ֽ������޸ġ�

һ������ֵ����һ��ʱ�䣬����ʾ����������α�׼ʱ�� 1970 �� 1 �� 1 �յĺ�������ֻ���ڸ�ʱ��֮���ֽ������޸�ʱ���Ż�ȡ�ö���

�˱����� 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 �쳣��

������
map - Ҫ���õ� FileNameMap
�׳���
SecurityException - �����ȫ���������ڲ����� checkSetFactory �������������д˲�����
�����°汾��ʼ��
1.2
������
SecurityManager.checkSetFactory(), getFileNameMap()

connect

public abstract void connect()
                      throws IOException
�򿪵��� URL ���õ���Դ��ͨ�����ӣ������δ�������������ӣ���

������Ѵ����ӣ���ʱ connected �ֶε�ֵΪ true��������µ��� connect ����������Ըõ��á�

URLConnection �����������׶Σ����ȴ�������Ȼ�������ӡ��ڴ�������֮�󣬽�������֮ǰ����ָ������ѡ����磬doInput �� UseCaches�������Ӻ��ٽ������þͻᷢ���������Ӻ���ܽ��еIJ��������� getContentLength�������б�Ҫ������ʽִ�����ӡ�

�׳���
SocketTimeoutException - ����ڽ�������֮ǰ��ʱ����
IOException - ���������ʱ���� I/O ����
������
connected, getConnectTimeout(), setConnectTimeout(int)

setConnectTimeout

public void setConnectTimeout(int timeout)
����һ��ָ���ij�ʱֵ���Ժ���Ϊ��λ������ֵ���ڴ򿪵��� URLConnection ���õ���Դ��ͨ������ʱʹ�á�����ڽ�������֮ǰ��ʱ�������������һ�� java.net.SocketTimeoutException����ʱʱ��Ϊ���ʾ�����ʱ��

�˷�����һЩ�DZ�׼ʵ�ֿ��ܺ���ָ���ij�ʱ��Ҫ�鿴���ӳ�ʱ���ã������ getConnectTimeout()��

������
timeout - һ��ָ�����ӳ�ʱֵ�� int���Ժ���Ϊ��λ
�׳���
IllegalArgumentException - �����ʱ����Ϊ��
�����°汾��ʼ��
1.5
������
getConnectTimeout(), connect()

getConnectTimeout

public int getConnectTimeout()
�������ӳ�ʱ���á�

���� 0 ������ѡ����ã�����ʱΪ����󣩡�

���أ�
һ��ָʾ���ӳ�ʱֵ�� int���Ժ���Ϊ��λ
�����°汾��ʼ��
1.5
������
setConnectTimeout(int), connect()

setReadTimeout

public void setReadTimeout(int timeout)
������ʱ����Ϊָ���ij�ʱֵ���Ժ���Ϊ��λ����һ������ֵָ���ڽ�������Դ�����Ӻ�� Input ������ʱ�ij�ʱʱ�䡣��������ݿɶ�ȡ֮ǰ��ʱ�������������һ�� java.net.SocketTimeoutException����ʱʱ��Ϊ���ʾ�����ʱ��

�˷�����һЩ�DZ�׼ʵ�ֻ����ָ���ij�ʱ��Ҫ�鿴���볬ʱ���ã������ getReadTimeout()��

������
timeout - һ��ָ��Ҫʹ�õij�ʱֵ�� int���Ժ���Ϊ��λ
�׳���
IllegalArgumentException - �����ʱ����Ϊ��
�����°汾��ʼ��
1.5
������
getReadTimeout(), InputStream.read()

getReadTimeout

public int getReadTimeout()
���ض��볬ʱ���á����� 0 ������ѡ����ã�����ʱΪ����󣩡�

���أ�
һ��ָʾ���볬ʱֵ�� int���Ժ���Ϊ��λ
�����°汾��ʼ��
1.5
������
setReadTimeout(int), InputStream.read()

getURL

public URL getURL()
���ش� URLConnection �� URL �ֶε�ֵ��

���أ�
�� URLConnection �� URL �ֶε�ֵ��
������
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 �յĺ�������
������
getHeaderField(java.lang.String)

getDate

public long getDate()
���� date ͷ�ֶε�ֵ��

���أ�
�� URL ���õ���Դ�ķ������ڣ��������Ϊδ֪���򷵻� 0�����ص�ֵΪ����������α�׼ʱ�� 1970 �� 1 �� 1 �յĺ�������
������
getHeaderField(java.lang.String)

getLastModified

public long getLastModified()
���� last-modified ͷ�ֶε�ֵ�����Ϊ����������α�׼ʱ�� 1970 �� 1 �� 1 �յĺ�������

���أ�
�� URLConnection ���õ���Դ���ϴ��޸����ڣ��������Ϊδ֪���򷵻� 0��
������
getHeaderField(java.lang.String)

getHeaderField

public String getHeaderField(String name)
����ָ����ͷ�ֶε�ֵ��

������õ����Ӷ��ʹ�ò�ͬ��ֵ������ͷ�ֶΣ���ֻ�������һ�����õ�ֵ��

������
name - ͷ�ֶε����ơ�
���أ�
ָ����ͷ�ֶε�ֵ���������ͷ��û������һ���ֶΣ��򷵻� null��

getHeaderFields

public Map<String,List<String>> getHeaderFields()
����ͷ�ֶεIJ����޸ĵ� Map��Map ���DZ�ʾ response-header �ֶ����Ƶ� String��ÿ�� Map ֵΪһ�������޸ĵ� String ���б������Ǵ�����Ӧ���ֶ�ֵ��

���أ�
ͷ�ֶε� Map
�����°汾��ʼ��
1.4

getHeaderFieldInt

public int getHeaderFieldInt(String name,
                             int Default)
���ؽ���Ϊ���ֵ�ָ���ֶε�ֵ��

��Щ�������ͣ����� http-ng������Ԥ����ͷ�����Դ���������ʽ�� getHeaderField�����������������͵������д�˷����Ӷ����̽������̡�

������
name - ͷ�ֶε����ơ�
Default - Ĭ��ֵ��
���أ�
ָ���ֶε�ֵ������Ϊ������������ֶ�ȱ�ٻ��д����򷵻� Default ֵ��

getHeaderFieldDate

public long getHeaderFieldDate(String name,
                               long Default)
���ؽ���Ϊ���ڵ�ָ���ֶε�ֵ�����Ϊָ���ֶα�ʾ�ľ���������α�׼ʱ�� 1970 �� 1 �� 1 �յĺ�������

��Щ�������ͣ����� http-ng������Ԥ����ͷ�����Դ���������ʽ�� getHeaderField�����ڸ����͵����ӿ���д�˷��������̽������̡�

������
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 �������������ݴ������򹤳�ʵ��������ô�ʵ���� createContentHandler ��������������Ϊ���е�һ�����������Ϊ���������͵����ݴ�������
  2. �����δ�����κ����ݴ������򹤳���������������� createContentHandler �������� null����Ӧ�ó��������������Ƶ��ࣺ
             sun.net.www.content.<contentType>
         
    ���У�<contentType> ȡ�� content-type �ַ����������е�б���ַ������ ('.')�滻��������������ĸ�����ַ����»��� '_'�滻����ĸ�����ַ���ָ 26 ����д ASCII ��ĸ 'A' �� 'Z'��26 ��Сд ASCII ��ĸ 'a' �� 'z'�Լ� 10 �� ASCII ���� '0' �� '9'�����ָ�����಻���ڣ����߲��� ContentHandler �����࣬���׳�һ�� UnknownServiceException��

���أ�
��ȡ�Ķ���Ӧʹ�� instanceof �������ȷ�����صĶ���ľ������͡�
�׳���
IOException - �����ȡ����ʱ���� I/O ����
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 - �����ȡ����ʱ���� I/O ����
UnknownServiceException - ���Э�鲻֧���������͡�
�����°汾��ʼ��
1.3
������
getContent(), ContentHandlerFactory.createContentHandler(java.lang.String), getContent(java.lang.Class[]), setContentHandlerFactory(java.net.ContentHandlerFactory)

getPermission

public Permission getPermission()
                         throws IOException
����һ��Ȩ�޶�������������˶����ʾ�����������Ȩ�ޡ�����������Ӳ���Ҫ�κ�Ȩ�ޣ���˷������� null��Ĭ������£��˷������� java.security.AllPermission������Ӧ��д�˷���������һ��Ȩ�޶��󣬸ö������ܴ������ڽ����� URL �����������Ȩ�ޡ������ʾ file:URL �� URLConnection ������ java.io.FilePermission ����

���ص�Ȩ�޿���ȡ�������ӵ�״̬�����磬����֮ǰ��Ȩ�޿��ܲ�ͬ������֮���Ȩ�ޡ����磬һ�� HTTP ���������� foo.com�����ܽ������ض���һ̨��ͬ���������� bar.com����������֮ǰ�����ӷ��ص�Ȩ�޽��������ӵ� foo.com �����Ȩ�ޣ�������֮�󷵻ص�Ȩ�޽������ӵ� bar.com �����Ȩ�ޡ�

ʹ��Ȩ��ͨ��������Ŀ�ģ�����ͨ�� URLConnection ��ȡ�Ķ���Ļ��棻�����շ���Ȩ�����˽��ض��� URL����һ������£�Ӧ�ڻ�ȡ����֮�� �ٻ�ȡȨ�ޡ����磬��һ�� HTTP �����У��⽫�������ӵ����ս��Ӹ�������ȡ���ݵ�������Ȩ�ޡ��ڶ�������£�Ӧ������֮ǰ ��Ȩ�޽��л�ȡ�ͼ�顣

���أ�
���������� URLConnection ��ʾ�����������Ȩ�޵�Ȩ�޶���
�׳���
IOException - �������Ȩ����Ҫ������ļ� I/O �����ڼ�������г����쳣��

getInputStream

public InputStream getInputStream()
                           throws IOException
���شӴ˴򿪵����Ӷ�ȡ���������� �ڶ�ȡ���ص�������ʱ����������ݿɹ���ȡ֮ǰ�ﵽ���볬ʱʱ�䣬����׳� SocketTimeoutException��

���أ�
�Ӵ˴򿪵����Ӷ������������
�׳���
IOException - ����ڴ���������ʱ���� I/O ����
UnknownServiceException - ���Э�鲻֧�����롣
������
setReadTimeout(int), getReadTimeout()

getOutputStream

public OutputStream getOutputStream()
                             throws IOException
����д�뵽�����ӵ��������

���أ�
д�뵽�����ӵ��������
�׳���
IOException - ����ڴ��������ʱ���� I/O ����
UnknownServiceException - ���Э�鲻֧�������

toString

public String toString()
���ش� URL ���ӵ� String ��ʾ��ʽ��

���ǣ�
�� Object �е� toString
���أ�
�� URLConnection ���ַ�����ʾ��ʽ��

setDoInput

public void setDoInput(boolean doinput)
���� URLConnection �� doInput �ֶε�ֵ����Ϊָ����ֵ��

URL ���ӿ����������/��������������ʹ�� URL ���ӽ������룬�� DoInput ��־����Ϊ true�����������ʹ�ã�������Ϊ false��Ĭ��ֵΪ true��

������
doinput - ��ֵ��
�׳���
IllegalStateException - ���������
������
doInput, getDoInput()

getDoInput

public boolean getDoInput()
���ش� URLConnection �� doInput ��־��ֵ��

���أ�
�� URLConnection �� doInput ��־��ֵ��
������
setDoInput(boolean)

setDoOutput

public void setDoOutput(boolean dooutput)
���� URLConnection �� doOutput �ֶε�ֵ����Ϊָ����ֵ��

URL ���ӿ����������/��������������ʹ�� URL ���ӽ���������� DoOutput ��־����Ϊ true�����������ʹ�ã�������Ϊ false��Ĭ��ֵΪ false��

������
dooutput - ��ֵ��
�׳���
IllegalStateException - ���������
������
getDoOutput()

getDoOutput

public boolean getDoOutput()
���ش� URLConnection �� doOutput ��־��ֵ��

���أ�
�� URLConnection �� doOutput ��־��ֵ��
������
setDoOutput(boolean)

setAllowUserInteraction

public void setAllowUserInteraction(boolean allowuserinteraction)
���ô� URLConnection �� allowUserInteraction �ֶε�ֵ��

������
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)
���� URLConnection �� useCaches �ֶε�ֵ����Ϊָ����ֵ��

��ЩЭ�������ĵ����档��ʱ���ܹ�����“ֱͨ”�����Ի���������Ҫ������������е�“���¼���”��ť����������е� UseCaches ��־Ϊ true������������ʹ���κο��õĻ��档���Ϊ false������Ի��档Ĭ��ֵ���� DefaultUseCaches����Ĭ��Ϊ true��

������
usecaches - һ��ָʾ�Ƿ���������� boolean ֵ
�׳���
IllegalStateException - ���������
������
getUseCaches()

getUseCaches

public boolean getUseCaches()
���ش� URLConnection �� useCaches �ֶε�ֵ��

���أ�
�� URLConnection �� useCaches �ֶε�ֵ��
������
setUseCaches(boolean)

setIfModifiedSince

public void setIfModifiedSince(long ifmodifiedsince)
���� URLConnection �� ifModifiedSince �ֶε�ֵ����Ϊָ����ֵ��

������
ifmodifiedsince - ��ֵ��
�׳���
IllegalStateException - ���������
������
getIfModifiedSince()

getIfModifiedSince

public long getIfModifiedSince()
���ش˶���� ifModifiedSince �ֶε�ֵ��

���أ�
�˶���� ifModifiedSince �ֶε�ֵ��
������
setIfModifiedSince(long)

getDefaultUseCaches

public boolean getDefaultUseCaches()
���� URLConnection �� useCaches ��־��Ĭ��ֵ��

Ĭ��ֵΪ "sticky"���������� URLConnection ��һ����̬״̬���˱�־��������һ������������������ URLConnection��

���أ�
URLConnection �� useCaches ��־��Ĭ��ֵ��
������
setDefaultUseCaches(boolean)

setDefaultUseCaches

public void setDefaultUseCaches(boolean defaultusecaches)
�� useCaches �ֶε�Ĭ��ֵ����Ϊָ����ֵ��

������
defaultusecaches - ��ֵ��
������
getDefaultUseCaches()

setRequestProperty

public void setRequestProperty(String key,
                               String value)
����һ���������ԡ�����Ѵ��ھ��иùؼ��ֵ����ԣ�������ֵ��д��ֵ��

ע��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()
����һ���ɴ����ӵ�һ���������Թ��ɵIJ����޸ĵ� Map��Map ����һЩ��ʾ request-header �ֶ����Ƶ� String��ÿ�� Map ֵΪһ�������޸ĵ� String ���б�����������Ӧ���ֶ�ֵ��

���أ�
�����ӵ�һ���������Ե� Map��
�׳���
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��һ��Ӧ�ó������ֻ�ܵ���һ�θ÷�����

ContentHandlerFactory ʵ�����ڸ����������͹������ݴ�������

����а�ȫ���������˷������ȵ��ð�ȫ�������� checkSetFactory ������ȷ�������ò���������ܻᵼ�� SecurityException �쳣��

������
fac - ��Ҫ�Ĺ�����
�׳���
Error - ����Ѿ������˹�����
SecurityException - �����ȫ���������ڲ����� checkSetFactory �������������д˲�����
������
ContentHandlerFactory, getContent(), SecurityManager.checkSetFactory()

guessContentTypeFromName

public static String guessContentTypeFromName(String fname)
���� URL ��ָ�� "file" ���ֳ���ȷ��������������͡���д getContentType �����������ʹ�øñ�ݷ�����

������
fname - �ļ�����
���أ�
�����ļ����Զ�����������͵IJ²⡣
������
getContentType()

guessContentTypeFromStream

public static String guessContentTypeFromStream(InputStream is)
                                         throws IOException
�����������Ŀ�ʼ�ַ�����ȷ�������������͡��˷����ɹ���д getContentType ����������ʹ�á�

��������£�������Ҫ�����̡��������� http ���������ز���ȷ���������ͣ����⣬����������DZ�׼��չ��ͨ�����ֽ�ֱ�ӹ۲���ȷ���������ͱ����� http �������������������͸�׼ȷ��

������
is - ֧�ֱ�ǵ���������
���أ�
���������͵IJ²⣬����޷�ȷ�����򷵻� null��
�׳���
IOException - ����ڶ�ȡ������ʱ���� I/O ����
������
InputStream.mark(int), InputStream.markSupported(), getContentType()

JavaTM Platform
Standard Ed. 6

�ύ��������
�йظ���� API �ο����ϺͿ�����Ա�ĵ�������� Java SE ������Ա�ĵ������ĵ���������ϸ�ġ����򿪷���Ա���������Լ�������������ﶨ�塢ʹ�ü��ɺ͹�������ʾ����

��Ȩ���� 2007 Sun Microsystems, Inc. ��������Ȩ���� ����������֤��������������ĵ����·ַ�������