IHttpHelper
public
interface
IHttpHelper
com.android.tradefed.util.net.IHttpHelper |
執行 http 要求的輔助方法。
摘要
巢狀類別 | |
---|---|
class |
IHttpHelper.DataSizeException
|
常數 | |
---|---|
int |
MAX_DATA_SIZE
|
公用方法 | |
---|---|
abstract
String
|
buildParameters(MultiMap<String, String> paramMap)
建立編碼的參數字串。 |
abstract
String
|
buildUrl(String url, MultiMap<String, String> paramMap)
建立完整編碼的網址要求字串。 |
abstract
HttpURLConnection
|
createConnection(URL url, String method, String contentType)
建立特定網址的 。 |
abstract
HttpURLConnection
|
createJsonConnection(URL url, String method)
建立連至指定網址的連線,以傳送 JSON 資料。 |
abstract
HttpURLConnection
|
createXmlConnection(URL url, String method)
建立連至指定網址的連線,以傳送 XML 資料。 |
abstract
void
|
doGet(String url, OutputStream outputStream)
針對特定網址執行 GET HTTP 要求方法,並將結果串流至
|
abstract
String
|
doGet(String url)
針對特定網址執行 GET HTTP 要求方法,並以 |
abstract
void
|
doGetIgnore(String url)
針對特定網址執行 GET,並使用指定的網址參數來忽略結果。 |
abstract
void
|
doGetIgnoreWithRetry(String url)
失敗時會重試 { |
abstract
String
|
doGetWithRetry(String url)
失敗時會重試 { |
abstract
String
|
doPostWithRetry(String url, String postData)
針對特定網址執行 POST HTTP 要求方法,並以 |
abstract
String
|
doPostWithRetry(String url, String postData, String contentType)
針對特定網址執行 POST HTTP 要求方法,並以 |
abstract
int
|
getInitialPollInterval()
取得初始輪詢間隔 (以毫秒為單位)。 |
abstract
int
|
getMaxPollInterval()
取得輪詢時間間隔上限 (以毫秒為單位)。 |
abstract
int
|
getMaxTime()
取得嘗試要求的時間上限 (以毫秒為單位)。 |
abstract
int
|
getOpTimeout()
取得作業逾時 (以毫秒為單位)。 |
abstract
void
|
setInitialPollInterval(int time)
設定初始輪詢時間間隔 (以毫秒為單位)。 |
abstract
void
|
setMaxPollInterval(int time)
設定初始輪詢時間間隔 (以毫秒為單位)。 |
abstract
void
|
setMaxTime(int time)
設定嘗試要求的時間上限 (以毫秒為單位)。 |
abstract
void
|
setOpTimeout(int time)
設定作業逾時 (以毫秒為單位)。 |
常數
MAX_DATA_SIZE
public static final int MAX_DATA_SIZE
常數值: 65536 (0x00010000)
公用方法
buildParameters
public abstract String buildParameters (MultiMap<String, String> paramMap)
建立編碼的參數字串。
參數 | |
---|---|
paramMap |
MultiMap :網址參數 |
傳回 | |
---|---|
String |
經過編碼的參數字串 |
擲回 | |
---|---|
IllegalArgumentException |
就會發生例外狀況。 |
buildUrl
public abstract String buildUrl (String url, MultiMap<String, String> paramMap)
建立完整編碼的網址要求字串。
參數 | |
---|---|
url |
String :基準網址 |
paramMap |
MultiMap :網址參數 |
傳回 | |
---|---|
String |
建構的網址 |
擲回 | |
---|---|
IllegalArgumentException |
就會發生例外狀況。 |
建立連線
public abstract HttpURLConnection createConnection (URL url, String method, String contentType)
建立特定網址的 。
參數 | |
---|---|
url |
URL :要連線的 ERROR(/URL) 。 |
method |
String :HTTP 要求方法。例如 GET 或 POST。 |
contentType |
String :內容類型。例如「text/html」。 |
傳回 | |
---|---|
HttpURLConnection |
HttpURLConnection |
擲回 | |
---|---|
|
則會傳回 IOException。 |
createJsonConnection
public abstract HttpURLConnection createJsonConnection (URL url, String method)
建立連至指定網址的連線,以傳送 JSON 資料。
參數 | |
---|---|
url |
URL :要連線的 ERROR(/URL) 。 |
method |
String :HTTP 要求方法。例如 GET 或 POST。 |
傳回 | |
---|---|
HttpURLConnection |
ERROR(/HttpURLConnection) |
擲回 | |
---|---|
|
如果無法建立連線 |
建立 XmlConnection
public abstract HttpURLConnection createXmlConnection (URL url, String method)
建立連至指定網址的連線,以傳送 XML 資料。
參數 | |
---|---|
url |
URL :要連線的 ERROR(/URL) 。 |
method |
String :HTTP 要求方法。例如 GET 或 POST。 |
傳回 | |
---|---|
HttpURLConnection |
ERROR(/HttpURLConnection) |
擲回 | |
---|---|
|
如果無法建立連線 |
doGet
public abstract void doGet (String url, OutputStream outputStream)
針對特定網址執行 GET HTTP 要求方法,並將結果串流至
ERROR(/OutputStream)
。
參數 | |
---|---|
url |
String :網址 |
outputStream |
OutputStream :回應資料串流 |
擲回 | |
---|---|
|
如果無法擷取資料 |
另請參閱:
doGet
public abstract String doGet (String url)
針對特定網址執行 GET HTTP 要求方法,並以 String
形式傳回該方法。
由於遠端內容會載入記憶體,因此這個方法僅適用於 資料量相對較小
參考資料:
- Java URL Connection: http://java.sun.com/docs/books/tutorial/networking/urls/readingWriting.html
- Java 網址讀取器: http://java.sun.com/docs/books/tutorial/networking/urls/readingURL.html
- Java 設定 Proxy: http://java.sun.com/docs/books/tutorial/networking/urls/_setProxy.html
參數 | |
---|---|
url |
String :網址 |
傳回 | |
---|---|
String |
String 遠端內容 |
擲回 | |
---|---|
|
如果無法擷取資料 |
IHttpHelper.DataSizeException |
如果擷取的資料為 >MAX_DATA_SIZE |
doGetIgnore
public abstract void doGetIgnore (String url)
針對特定網址執行 GET,並使用指定的網址參數來忽略結果。
參數 | |
---|---|
url |
String :網址 |
擲回 | |
---|---|
|
如果無法擷取資料 |
另請參閱:
doGetIgnoreWith 重試
public abstract void doGetIgnoreWithRetry (String url)
失敗時會重試 {doGetIgnore(String)
。
參數 | |
---|---|
url |
String :網址 |
擲回 | |
---|---|
|
如果無法擷取資料 |
doGetWith 重試
public abstract String doGetWithRetry (String url)
失敗時會重試 {doGet(String)
。
參數 | |
---|---|
url |
String :網址 |
傳回 | |
---|---|
String |
String 遠端內容 |
擲回 | |
---|---|
|
如果無法擷取資料 |
IHttpHelper.DataSizeException |
如果擷取的資料為 >MAX_DATA_SIZE |
doPostWith 重試
public abstract String doPostWithRetry (String url, String postData)
針對特定網址執行 POST HTTP 要求方法,並以 String
的形式傳回。
失敗時重試。
由於遠端內容會載入記憶體,因此這個方法僅適用於 資料量相對較小
參數 | |
---|---|
url |
String :網址 |
postData |
String :連線開啟後要發布的資料 |
傳回 | |
---|---|
String |
String 遠端內容 |
擲回 | |
---|---|
|
如果無法擷取資料 |
IHttpHelper.DataSizeException |
如果擷取的資料為 >MAX_DATA_SIZE |
doPostWith 重試
public abstract String doPostWithRetry (String url, String postData, String contentType)
針對特定網址執行 POST HTTP 要求方法,並以 String
的形式傳回。
失敗時重試。
由於遠端內容會載入記憶體,因此這個方法僅適用於 資料量相對較小
參數 | |
---|---|
url |
String :網址 |
postData |
String :連線開啟後要發布的資料 |
contentType |
String :內容類型。例如「text/html」。 |
傳回 | |
---|---|
String |
String 遠端內容 |
擲回 | |
---|---|
|
如果無法擷取資料 |
IHttpHelper.DataSizeException |
如果擷取的資料為 >MAX_DATA_SIZE |
getInitialPollInterval
public abstract int getInitialPollInterval ()
取得初始輪詢間隔 (以毫秒為單位)。
傳回 | |
---|---|
int |
getMaxPollInterval
public abstract int getMaxPollInterval ()
取得輪詢時間間隔上限 (以毫秒為單位)。
傳回 | |
---|---|
int |
getMaxTime
public abstract int getMaxTime ()
取得嘗試要求的時間上限 (以毫秒為單位)。
傳回 | |
---|---|
int |
getOpTimeout
public abstract int getOpTimeout ()
取得作業逾時 (以毫秒為單位)。
傳回 | |
---|---|
int |
setInitialPollInterval
public abstract void setInitialPollInterval (int time)
設定初始輪詢時間間隔 (以毫秒為單位)。
參數 | |
---|---|
time |
int |
設定 MaxPollInterval
public abstract void setMaxPollInterval (int time)
設定初始輪詢時間間隔 (以毫秒為單位)。
參數 | |
---|---|
time |
int |
設定最大時間
public abstract void setMaxTime (int time)
設定嘗試要求的時間上限 (以毫秒為單位)。
參數 | |
---|---|
time |
int |
setOpTimeout
public abstract void setOpTimeout (int time)
設定作業逾時 (以毫秒為單位)。
參數 | |
---|---|
time |
int |