W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
java.lang.Object
|---java.net.URLConnection
|---|---java.net.HttpURLConnection
public abstract class HttpURLConnection
extends URLConnection
支持 HTTP 特定功能的 URLConnection。 有關(guān)詳細(xì)信息,請參閱規(guī)范。
每個(gè) HttpURLConnection 實(shí)例用于發(fā)出單個(gè)請求,但到 HTTP 服務(wù)器的底層網(wǎng)絡(luò)連接可能會(huì)被其他實(shí)例透明地共享。 在請求之后對 HttpURLConnection 的 InputStream 或 OutputStream 調(diào)用 close() 方法可能會(huì)釋放與此實(shí)例關(guān)聯(lián)的網(wǎng)絡(luò)資源,但不會(huì)影響任何共享的持久連接。 如果持續(xù)連接當(dāng)時(shí)處于空閑狀態(tài),則調(diào)用 disconnect() 方法可能會(huì)關(guān)閉底層套接字。
HTTP 協(xié)議處理程序有一些可以通過系統(tǒng)屬性訪問的設(shè)置。 這包括代理設(shè)置以及各種其他設(shè)置。
安全權(quán)限
如果安裝了安全管理器,并且調(diào)用了導(dǎo)致嘗試打開連接的方法,則調(diào)用者必須擁有:-
如果啟用了自動(dòng)重定向,并且此請求被重定向到另一個(gè)目的地,那么調(diào)用者還必須有權(quán)連接到重定向的主機(jī)/URL。
修飾符和類型 | 字段 | 描述 |
---|---|---|
protected int | chunkLength | 使用分塊編碼流模式進(jìn)行輸出時(shí)的塊長度。 |
protected int | fixedContentLength | 使用固定長度流模式時(shí)的固定內(nèi)容長度。 |
protected long | fixedContentLengthLong | 使用固定長度流模式時(shí)的固定內(nèi)容長度。 |
static int | HTTP_ACCEPTED | HTTP 狀態(tài)碼 202:已接受。 |
static int | HTTP_BAD_GATEWAY | HTTP 狀態(tài)碼 502:網(wǎng)關(guān)錯(cuò)誤。 |
static int | HTTP_BAD_METHOD | HTTP 狀態(tài)碼 405:不允許的方法。 |
static int | HTTP_BAD_REQUEST | HTTP 狀態(tài)碼 400:錯(cuò)誤請求。 |
static int | HTTP_CLIENT_TIMEOUT | HTTP 狀態(tài)碼 408:請求超時(shí)。 |
static int | HTTP_CONFLICT | HTTP 狀態(tài)碼 409:沖突。 |
static int | HTTP_CREATED | HTTP 狀態(tài)碼 201:已創(chuàng)建。 |
static int | HTTP_ENTITY_TOO_LARGE | HTTP 狀態(tài)碼 413:請求實(shí)體太大。 |
static int | HTTP_FORBIDDEN | HTTP 狀態(tài)碼 403:禁止。 |
static int | HTTP_GATEWAY_TIMEOUT | HTTP 狀態(tài)碼 504:網(wǎng)關(guān)超時(shí)。 |
static int | HTTP_GONE | HTTP 狀態(tài)碼 410:已消失。 |
static int | HTTP_INTERNAL_ERROR | HTTP 狀態(tài)碼 500:內(nèi)部服務(wù)器錯(cuò)誤。 |
static int | HTTP_LENGTH_REQUIRED | HTTP 狀態(tài)碼 411:長度要求。 |
static int | HTTP_MOVED_PERM | HTTP 狀態(tài)碼 301:永久移動(dòng)。 |
static int | HTTP_MOVED_TEMP | HTTP 狀態(tài)碼 302:臨時(shí)重定向。 |
static int | HTTP_MULT_CHOICE | HTTP 狀態(tài)碼 300:多項(xiàng)選擇。 |
static int | HTTP_NO_CONTENT | HTTP 狀態(tài)碼 204:無內(nèi)容。 |
static int | HTTP_NOT_ACCEPTABLE | HTTP 狀態(tài)碼 406:不可接受。 |
static int | HTTP_NOT_AUTHORITATIVE | HTTP 狀態(tài)碼 203:非權(quán)威信息。 |
static int | HTTP_NOT_FOUND | HTTP 狀態(tài)碼 404:未找到。 |
static int | HTTP_NOT_IMPLEMENTED | HTTP 狀態(tài)碼 501:未實(shí)現(xiàn)。 |
static int | HTTP_NOT_MODIFIED | HTTP 狀態(tài)碼 304:未修改。 |
static int | HTTP_OK | HTTP 狀態(tài)碼 200:正常。 |
static int | HTTP_PARTIAL | HTTP 狀態(tài)碼 206:部分內(nèi)容。 |
static int | HTTP_PAYMENT_REQUIRED | HTTP 狀態(tài)碼 402:需要付款。 |
static int | HTTP_PRECON_FAILED | HTTP 狀態(tài)碼 412:前提條件失敗。 |
static int | HTTP_PROXY_AUTH | HTTP 狀態(tài)碼 407:需要代理身份驗(yàn)證。 |
static int | HTTP_REQ_TOO_LONG | HTTP 狀態(tài)碼 414:請求 URI 太大。 |
static int | HTTP_RESET | HTTP 狀態(tài)碼 205:重置內(nèi)容。 |
static int | HTTP_SEE_OTHER | HTTP 狀態(tài)碼 303:請參閱其他。 |
static int | HTTP_SERVER_ERROR | 已棄用。 它放錯(cuò)了地方,不應(yīng)該存在。 |
static int | HTTP_UNAUTHORIZED | HTTP 狀態(tài)碼 401:未經(jīng)授權(quán)。 |
static int | HTTP_UNAVAILABLE | HTTP 狀態(tài)碼 503:服務(wù)不可用。 |
static int | HTTP_UNSUPPORTED_TYPE | HTTP 狀態(tài)碼 415:不支持的媒體類型。 |
static int | HTTP_USE_PROXY | HTTP 狀態(tài)碼 305:使用代理。 |
static int | HTTP_VERSION | HTTP 狀態(tài)碼 505:不支持 HTTP 版本。 |
protected boolean | instanceFollowRedirects | 如果為真,協(xié)議將自動(dòng)遵循重定向。 |
protected String | method | HTTP 方法(GET、POST、PUT 等)。 |
protected int | responseCode | 一個(gè)表示三位 HTTP 狀態(tài)碼的 int。 |
protected String | responseMessage | HTTP 響應(yīng)消息。 |
從類 java.net.URLConnection 繼承的字段 |
---|
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches |
修飾符 | 構(gòu)造函數(shù) | 描述 |
---|---|---|
protected | HttpURLConnection(URL u) | HttpURLConnection 的構(gòu)造函數(shù)。 |
修飾符和類型 | 方法 | 描述 |
---|---|---|
abstract void | disconnect() | 表示在不久的將來不太可能向服務(wù)器發(fā)出其他請求。 |
InputStream | getErrorStream() | 如果連接失敗但服務(wù)器仍然發(fā)送了有用的數(shù)據(jù),則返回錯(cuò)誤流。 |
static boolean | getFollowRedirects() | 返回一個(gè)布爾值,指示是否應(yīng)自動(dòng)遵循 HTTP 重定向 (3xx)。 |
String | getHeaderField(int n) | 返回第 n 個(gè)標(biāo)頭字段的值。 |
long | getHeaderFieldDate(String name, long Default) | 返回解析為日期的命名字段的值。 |
String | getHeaderFieldKey(int n) | 返回第 n 個(gè)標(biāo)頭字段的鍵。 |
boolean | getInstanceFollowRedirects() | 返回此 HttpURLConnection 的 instanceFollowRedirects 字段的值。 |
Permission | getPermission() | 返回一個(gè) SocketPermission 對象,表示連接到目標(biāo)主機(jī)和端口所需的權(quán)限。 |
String | getRequestMethod() | 獲取請求方法。 |
int | getResponseCode() | 從 HTTP 響應(yīng)消息中獲取狀態(tài)代碼。 |
String | getResponseMessage() | 獲取與響應(yīng)代碼一起從服務(wù)器返回的 HTTP 響應(yīng)消息(如果有)。 |
void | setChunkedStreamingMode(int chunklen) | 當(dāng)事先不知道內(nèi)容長度時(shí),此方法用于啟用沒有內(nèi)部緩沖的 HTTP 請求正文的流式傳輸。 |
void | setFixedLengthStreamingMode(int contentLength) | 當(dāng)預(yù)先知道內(nèi)容長度時(shí),此方法用于啟用沒有內(nèi)部緩沖的 HTTP 請求正文的流式傳輸。 |
void | setFixedLengthStreamingMode(long contentLength) | 當(dāng)預(yù)先知道內(nèi)容長度時(shí),此方法用于啟用沒有內(nèi)部緩沖的 HTTP 請求正文的流式傳輸。 |
static void | setFollowRedirects(boolean set) | 設(shè)置該類是否應(yīng)自動(dòng)跟隨 HTTP 重定向(響應(yīng)代碼為 3xx 的請求)。 |
void | setInstanceFollowRedirects(boolean followRedirects) | 設(shè)置此 HttpURLConnection 實(shí)例是否應(yīng)自動(dòng)跟隨 HTTP 重定向(響應(yīng)代碼為 3xx 的請求)。 |
void | setRequestMethod(String method) | 設(shè)置 URL 請求的方法,其中之一: GET POST HEAD OPTIONS PUT DELETE TRACE 是合法的,受協(xié)議限制。 |
abstract boolean | usingProxy() | 指示連接是否通過代理。 |
從類 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
從類 java.net.URLConnection 繼承的方法 |
---|
addRequestProperty, connect, getAllowUserInteraction, getConnectTimeout, getContent, getContent, getContentEncoding, getContentLength, getContentLengthLong, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, getDoInput, getDoOutput, getExpiration, getFileNameMap, getHeaderField, getHeaderFieldInt, getHeaderFieldLong, 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 |
public static final int HTTP_ACCEPTED
HTTP 狀態(tài)碼 202:已接受。
public static final int HTTP_BAD_GATEWAY
HTTP 狀態(tài)碼 502:網(wǎng)關(guān)錯(cuò)誤。
public static final int HTTP_BAD_METHOD
HTTP 狀態(tài)碼 405:不允許的方法。
public static final int HTTP_BAD_REQUEST
HTTP 狀態(tài)碼 400:錯(cuò)誤請求。
public static final int HTTP_CLIENT_TIMEOUT
HTTP 狀態(tài)碼 408:請求超時(shí)。
public static final int HTTP_CONFLICT
HTTP 狀態(tài)碼 409:沖突。
public static final int HTTP_CREATED
HTTP 狀態(tài)碼 201:已創(chuàng)建。
public static final int HTTP_ENTITY_TOO_LARGE
HTTP 狀態(tài)碼 413:請求實(shí)體太大。
public static final int HTTP_FORBIDDEN
HTTP 狀態(tài)碼 403:禁止。
public static final int HTTP_GATEWAY_TIMEOUT
HTTP 狀態(tài)碼 504:網(wǎng)關(guān)超時(shí)。
public static final int HTTP_GONE
HTTP 狀態(tài)碼 410:已消失。
public static final int HTTP_INTERNAL_ERROR
HTTP 狀態(tài)碼 500:內(nèi)部服務(wù)器錯(cuò)誤。
public static final int HTTP_LENGTH_REQUIRED
HTTP 狀態(tài)碼 411:長度要求。
public static final int HTTP_MOVED_PERM
HTTP 狀態(tài)碼 301:永久移動(dòng)。
public static final int HTTP_MOVED_TEMP
HTTP 狀態(tài)碼 302:臨時(shí)重定向。
public static final int HTTP_MULT_CHOICE
HTTP 狀態(tài)碼 300:多項(xiàng)選擇。
public static final int HTTP_NOT_ACCEPTABLE
HTTP 狀態(tài)碼 406:不可接受。
public static final int HTTP_NOT_AUTHORITATIVE
HTTP 狀態(tài)碼 203:非權(quán)威信息。
public static final int HTTP_NOT_FOUND
HTTP 狀態(tài)碼 404:未找到。
public static final int HTTP_NOT_IMPLEMENTED
HTTP 狀態(tài)碼 501:未實(shí)現(xiàn)。
public static final int HTTP_NOT_MODIFIED
HTTP 狀態(tài)碼 304:未修改。
public static final int HTTP_NO_CONTENT
HTTP 狀態(tài)碼 204:無內(nèi)容。
public static final int HTTP_OK
HTTP 狀態(tài)碼 200:正常。
public static final int HTTP_PARTIAL
HTTP 狀態(tài)碼 206:部分內(nèi)容。
public static final int HTTP_PAYMENT_REQUIRED
HTTP 狀態(tài)碼 402:需要付款。
public static final int HTTP_PRECON_FAILED
HTTP 狀態(tài)碼 412:前提條件失敗。
public static final int HTTP_PROXY_AUTH
HTTP 狀態(tài)碼 407:需要代理身份驗(yàn)證。
public static final int HTTP_REQ_TOO_LONG
HTTP 狀態(tài)碼 414:請求 URI 太大。
public static final int HTTP_RESET
HTTP 狀態(tài)碼 205:重置內(nèi)容。
public static final int HTTP_SEE_OTHER
HTTP 狀態(tài)碼 303:請參閱其他。
@Deprecated public static final int HTTP_SERVER_ERROR
已棄用。 它放錯(cuò)了地方,不應(yīng)該存在。
HTTP 狀態(tài)碼 500:內(nèi)部服務(wù)器錯(cuò)誤。
public static final int HTTP_UNAUTHORIZED
HTTP 狀態(tài)碼 401:未經(jīng)授權(quán)。
public static final int HTTP_UNAVAILABLE
HTTP 狀態(tài)碼 503:服務(wù)不可用。
public static final int HTTP_UNSUPPORTED_TYPE
HTTP 狀態(tài)碼 415:不支持的媒體類型。
public static final int HTTP_USE_PROXY
HTTP 狀態(tài)碼 305:使用代理。
public static final int HTTP_VERSION
HTTP 狀態(tài)碼 505:不支持 HTTP 版本。
protected int chunkLength
使用分塊編碼流模式進(jìn)行輸出時(shí)的塊長度。 值 -1 表示對輸出禁用分塊編碼。
protected int fixedContentLength
使用固定長度流模式時(shí)的固定內(nèi)容長度。 值 -1 表示對輸出禁用固定長度流模式。
注意:建議使用 fixedContentLengthLong 代替此字段,因?yàn)樗试S設(shè)置更大的內(nèi)容長度。
protected long fixedContentLengthLong
使用固定長度流模式時(shí)的固定內(nèi)容長度。 值 -1 表示對輸出禁用固定長度流模式。
protected boolean instanceFollowRedirects
如果為true,協(xié)議將自動(dòng)遵循重定向。 如果為 false,協(xié)議將不會(huì)自動(dòng)遵循重定向。
該字段由 setInstanceFollowRedirects 方法設(shè)置。 它的值由 getInstanceFollowRedirects 方法返回。
其默認(rèn)值基于 HttpURLConnection 構(gòu)建時(shí)靜態(tài) followRedirects 的值。
protected String method
HTTP 方法(GET、POST、PUT 等)。
protected int responseCode
一個(gè)表示三位 HTTP 狀態(tài)碼的 int。
protected String responseMessage
HTTP 響應(yīng)消息。
protected HttpURLConnection(URL u)
HttpURLConnection 的構(gòu)造函數(shù)。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
u | 網(wǎng)址 |
public String getHeaderFieldKey(int n)
返回第 n 個(gè)標(biāo)頭字段的鍵。 某些實(shí)現(xiàn)可能會(huì)將第 0 個(gè)標(biāo)頭字段視為特殊字段,即作為 HTTP 服務(wù)器返回的狀態(tài)行。 在這種情況下,getHeaderField(0) 返回狀態(tài)行,但 getHeaderFieldKey(0) 返回 null。
覆蓋:
類 URLConnection 中的 getHeaderFieldKey
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
n | 一個(gè)索引,其中 n >=0。 |
返回:
第 n 個(gè)標(biāo)頭字段的鍵,如果鍵不存在,則返回 null。
public void setFixedLengthStreamingMode(int contentLength)
當(dāng)預(yù)先知道內(nèi)容長度時(shí),此方法用于啟用沒有內(nèi)部緩沖的 HTTP 請求正文的流式傳輸。
如果應(yīng)用程序嘗試寫入超過指定內(nèi)容長度的數(shù)據(jù),或者應(yīng)用程序在寫入指定數(shù)量之前關(guān)閉了 OutputStream,則會(huì)引發(fā)異常。
啟用輸出流時(shí),無法自動(dòng)處理身份驗(yàn)證和重定向。 如果需要身份驗(yàn)證或重定向,則在讀取響應(yīng)時(shí)將拋出 HttpRetryException。 可以查詢此異常以獲取錯(cuò)誤的詳細(xì)信息。
此方法必須在 URLConnection 連接之前調(diào)用。
注意:建議使用 setFixedLengthStreamingMode(long) 代替此方法,因?yàn)樗试S設(shè)置更大的內(nèi)容長度。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
contentLength | 將寫入 OutputStream 的字節(jié)數(shù)。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
IllegalStateException | 如果 URLConnection 已經(jīng)連接或者已經(jīng)啟用了不同的流模式。 |
IllegalArgumentException | 如果指定的內(nèi)容長度小于零。 |
public void setFixedLengthStreamingMode(long contentLength)
當(dāng)預(yù)先知道內(nèi)容長度時(shí),此方法用于啟用沒有內(nèi)部緩沖的 HTTP 請求正文的流式傳輸。
如果應(yīng)用程序嘗試寫入超過指定內(nèi)容長度的數(shù)據(jù),或者應(yīng)用程序在寫入指定數(shù)量之前關(guān)閉了 OutputStream,則會(huì)引發(fā)異常。
啟用輸出流時(shí),無法自動(dòng)處理身份驗(yàn)證和重定向。 如果需要身份驗(yàn)證或重定向,則在讀取響應(yīng)時(shí)將拋出 HttpRetryException。 可以查詢此異常以獲取錯(cuò)誤的詳細(xì)信息。
此方法必須在 URLConnection 連接之前調(diào)用。
通過調(diào)用此方法設(shè)置的內(nèi)容長度優(yōu)先于由 setFixedLengthStreamingMode(int) 設(shè)置的任何值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
contentLength | 將寫入 OutputStream 的字節(jié)數(shù)。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
IllegalStateException | 如果 URLConnection 已經(jīng)連接或者已經(jīng)啟用了不同的流模式。 |
IllegalArgumentException | 如果指定的內(nèi)容長度小于零。 |
public void setChunkedStreamingMode(int chunklen)
當(dāng)事先不知道內(nèi)容長度時(shí),此方法用于啟用沒有內(nèi)部緩沖的 HTTP 請求正文的流式傳輸。 在這種模式下,分塊傳輸編碼用于發(fā)送請求正文。 注意,并不是所有的 HTTP 服務(wù)器都支持這種模式。
啟用輸出流時(shí),無法自動(dòng)處理身份驗(yàn)證和重定向。 如果需要身份驗(yàn)證或重定向,則在讀取響應(yīng)時(shí)將拋出 HttpRetryException。 可以查詢此異常以獲取錯(cuò)誤的詳細(xì)信息。
此方法必須在 URLConnection 連接之前調(diào)用。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
chunklen | 每個(gè)塊中要寫入的字節(jié)數(shù)。 如果 chunklen 小于或等于零,將使用默認(rèn)值。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
IllegalStateException | 如果 URLConnection 已經(jīng)連接或者已經(jīng)啟用了不同的流模式。 |
public String getHeaderField(int n)
返回第 n 個(gè)標(biāo)頭字段的值。 某些實(shí)現(xiàn)可能會(huì)將第 0 個(gè)標(biāo)頭字段視為特殊字段,即作為 HTTP 服務(wù)器返回的狀態(tài)行。
此方法可以與 getHeaderFieldKey 方法結(jié)合使用,以遍歷消息中的所有標(biāo)頭。
覆蓋:
類 URLConnection 中的 getHeaderField
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
n | 一個(gè)索引,其中 n>=0。 |
返回:
第 n 個(gè)標(biāo)頭字段的值,如果該值不存在,則為 null。
public static void setFollowRedirects(boolean set)
設(shè)置該類是否應(yīng)自動(dòng)跟隨 HTTP 重定向(響應(yīng)代碼為 3xx 的請求)。 默認(rèn)為真。 小程序無法更改此變量。
如果有安全管理器,該方法首先調(diào)用安全管理器的 checkSetFactory 方法,確保操作被允許。 這可能會(huì)導(dǎo)致 SecurityException。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
set | 一個(gè)布爾值,指示是否遵循 HTTP 重定向。 |
Throws:
Throw名稱 | Throw描述 |
---|---|
SecurityException | 如果存在安全管理器并且其 checkSetFactory 方法不允許該操作。 |
public static boolean getFollowRedirects()
返回一個(gè)布爾值,指示是否應(yīng)自動(dòng)遵循 HTTP 重定向 (3xx)。
返回:
如果應(yīng)該自動(dòng)遵循 HTTP 重定向,則為 true,否則為 false。
public void setInstanceFollowRedirects(boolean followRedirects)
設(shè)置此 HttpURLConnection 實(shí)例是否應(yīng)自動(dòng)跟隨 HTTP 重定向(響應(yīng)代碼為 3xx 的請求)。
默認(rèn)值來自followRedirects,默認(rèn)為true。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
followRedirects | 一個(gè)布爾值,指示是否遵循 HTTP 重定向。 |
public boolean getInstanceFollowRedirects()
返回此 HttpURLConnection 的 instanceFollowRedirects 字段的值。
返回:
此 HttpURLConnection 的 instanceFollowRedirects 字段的值。
public void setRequestMethod(String method) throws ProtocolException
設(shè)置 URL 請求的方法,其中之一:
是合法的,受協(xié)議限制。 默認(rèn)方法是 GET。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
method | HTTP方法 |
Throws:
Throw名稱 | Throw描述 |
---|---|
ProtocolException | 如果方法無法重置或者請求的方法對 HTTP 無效。 |
SecurityException | 如果設(shè)置了安全管理器且方法為“TRACE”,但未授予“allowHttpTrace”NetPermission。 |
public String getRequestMethod()
獲取請求方法。
返回:
HTTP 請求方法
public int getResponseCode() throws IOException
從 HTTP 響應(yīng)消息中獲取狀態(tài)代碼。 例如,在以下狀態(tài)行的情況下:
HTTP/1.0 200 OK HTTP/1.0 401 Unauthorized
它將分別返回 200 和 401。 如果無法從響應(yīng)中識(shí)別出任何代碼(即響應(yīng)不是有效的 HTTP),則返回 -1。
返回:
HTTP 狀態(tài)碼,或 -1
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果連接到服務(wù)器時(shí)發(fā)生錯(cuò)誤。 |
public String getResponseMessage() throws IOException
獲取與響應(yīng)代碼一起從服務(wù)器返回的 HTTP 響應(yīng)消息(如果有)。 來自以下回復(fù):
HTTP/1.0 200 OK HTTP/1.0 404 Not Found
分別提取字符串“OK”和“Not Found”。 如果無法從響應(yīng)中辨別出任何內(nèi)容(結(jié)果不是有效的 HTTP),則返回 null。
返回:
HTTP 響應(yīng)消息,或 null
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果連接到服務(wù)器時(shí)發(fā)生錯(cuò)誤。 |
public long getHeaderFieldDate(String name, long Default)
從類中復(fù)制的描述:URLConnection
返回解析為日期的命名字段的值。 結(jié)果是命名字段表示的自 1970 年 1 月 1 日 GMT 以來的毫秒數(shù)。
存在這種形式的 getHeaderField 是因?yàn)槟承┻B接類型(例如 http-ng)具有預(yù)解析的標(biāo)頭。 該連接類型的類可以覆蓋此方法并使解析短路。
覆蓋:
類 URLConnection 中的 getHeaderFieldDate
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
name | 標(biāo)題字段的名稱。 |
Default | 默認(rèn)值。 |
返回:
字段的值,解析為日期。 如果字段丟失或格式錯(cuò)誤,則返回 Default 參數(shù)的值。
public abstract void disconnect()
表示在不久的將來不太可能向服務(wù)器發(fā)出其他請求。 調(diào)用 disconnect() 不應(yīng)暗示此 HttpURLConnection 實(shí)例可用于其他請求。
public abstract boolean usingProxy()
指示連接是否通過代理。
返回:
一個(gè)布爾值,指示連接是否使用代理。
public Permission getPermission() throws IOException
返回一個(gè) SocketPermission 對象,表示連接到目標(biāo)主機(jī)和端口所需的權(quán)限。
覆蓋:
類 URLConnection 中的 getPermission
返回:
一個(gè) SocketPermission 對象,表示連接到目標(biāo)主機(jī)和端口所需的權(quán)限。
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果在計(jì)算權(quán)限時(shí)發(fā)生錯(cuò)誤。 |
public InputStream getErrorStream()
如果連接失敗但服務(wù)器仍然發(fā)送了有用的數(shù)據(jù),則返回錯(cuò)誤流。 典型的例子是當(dāng) HTTP 服務(wù)器響應(yīng) 404 時(shí),這將導(dǎo)致在連接中拋出 FileNotFoundException,但服務(wù)器發(fā)送了一個(gè) HTML 幫助頁面,其中包含有關(guān)如何操作的建議。
此方法不會(huì)導(dǎo)致啟動(dòng)連接。 如果連接未連接,或者服務(wù)器在連接時(shí)沒有錯(cuò)誤,或者服務(wù)器有錯(cuò)誤但沒有發(fā)送錯(cuò)誤數(shù)據(jù),則此方法將返回 null。 這是默認(rèn)設(shè)置。
返回:
如果有錯(cuò)誤流,如果沒有錯(cuò)誤,則返回 null,連接未連接或服務(wù)器未發(fā)送有用數(shù)據(jù)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: