HttpHelper
public
class
HttpHelper
extends Object
implements
IHttpHelper
java.lang.Object | |
↳ | com.android.tradefed.util.net.HttpHelper |
包含用於提出 HTTP 要求的輔助方法
摘要
巢狀類別 | |
---|---|
class |
HttpHelper.RequestRunnable
使用 |
公用建構函式 | |
---|---|
HttpHelper()
|
公用方法 | |
---|---|
String
|
buildParameters(MultiMap<String, String> paramMap)
建立編碼的參數字串。 |
String
|
buildUrl(String baseUrl, MultiMap<String, String> paramMap)
建構完整的編碼網址要求字串。 |
HttpURLConnection
|
createConnection(URL url, String method, String contentType)
建立至指定網址的連結。 |
HttpURLConnection
|
createJsonConnection(URL url, String method)
建立連線至指定網址,以便傳遞 JSON 資料。 |
HttpURLConnection
|
createXmlConnection(URL url, String method)
建立連線至指定網址,以便傳遞 XML 資料。 |
void
|
doGet(String url, OutputStream outputStream)
針對特定網址執行 GET HTTP 要求方法,並將結果串流至 |
String
|
doGet(String url)
針對指定網址執行 GET HTTP 要求方法,並以 |
void
|
doGetIgnore(String url)
針對指定網址執行 GET 作業,並忽略指定網址參數的結果。 |
void
|
doGetIgnoreWithRetry(String url)
執行 { |
String
|
doGetWithRetry(String url)
失敗時會重試 { |
String
|
doPostWithRetry(String url, String postData)
針對指定網址執行 POST HTTP 要求方法,並以 |
String
|
doPostWithRetry(String url, String postData, String contentType)
針對指定網址執行 POST HTTP 要求方法,並以 |
int
|
getInitialPollInterval()
取得初始輪詢時間間隔 (以毫秒為單位)。 |
int
|
getMaxPollInterval()
以毫秒為單位取得最大輪詢間隔。 |
int
|
getMaxTime()
取得嘗試要求的時間上限 (以毫秒為單位)。 |
int
|
getOpTimeout()
以毫秒為單位取得作業逾時時間。 |
IRunUtil
|
getRunUtil()
取得要使用的 |
void
|
setInitialPollInterval(int time)
以毫秒為單位設定初始輪詢間隔。 |
void
|
setMaxPollInterval(int time)
以毫秒為單位設定初始輪詢間隔。 |
void
|
setMaxTime(int time)
以 ms 為單位,設定繼續嘗試要求的時間上限。 |
void
|
setOpTimeout(int time)
設定作業逾時時間 (以毫秒為單位)。 |
公用建構函式
HttpHelper
public HttpHelper ()
公用方法
buildParameters
public String buildParameters (MultiMap<String, String> paramMap)
建立編碼的參數字串。
參數 | |
---|---|
paramMap |
MultiMap :網址參數 |
傳回 | |
---|---|
String |
已編碼的參數字串 |
buildUrl
public String buildUrl (String baseUrl, MultiMap<String, String> paramMap)
建構完整的已編碼網址要求字串。
參數 | |
---|---|
baseUrl |
String :基準網址 |
paramMap |
MultiMap :網址參數 |
傳回 | |
---|---|
String |
已建構的網址 |
createConnection
public HttpURLConnection createConnection (URL url, String method, String contentType)
建立至指定網址的連結。
參數 | |
---|---|
url |
URL :要連線的 ERROR(/URL) 。 |
method |
String :HTTP 要求方法。例如 GET 或 POST。 |
contentType |
String :內容類型。例如「text/html」。 |
傳回 | |
---|---|
HttpURLConnection |
HttpURLConnection |
createJsonConnection
public HttpURLConnection createJsonConnection (URL url, String method)
建立連線至指定網址,以便傳遞 JSON 資料。
參數 | |
---|---|
url |
URL :要連線的 ERROR(/URL) 。 |
method |
String :HTTP 要求方法。例如 GET 或 POST。 |
傳回 | |
---|---|
HttpURLConnection |
ERROR(/HttpURLConnection) |
createXmlConnection
public HttpURLConnection createXmlConnection (URL url, String method)
建立連線至指定網址,以便傳遞 XML 資料。
參數 | |
---|---|
url |
URL :要連線的 ERROR(/URL) 。 |
method |
String :HTTP 要求方法。例如 GET 或 POST。 |
傳回 | |
---|---|
HttpURLConnection |
ERROR(/HttpURLConnection) |
doGet
public void doGet (String url, OutputStream outputStream)
針對指定網址執行 GET HTTP 要求方法,並將結果串流至 ERROR(/OutputStream)
。
參數 | |
---|---|
url |
String :網址 |
outputStream |
OutputStream :回應資料串流 |
doGet
public String doGet (String url)
針對指定網址執行 GET HTTP 要求方法,並以 String
的形式傳回。
由於遠端內容會載入至記憶體,因此此方法僅適用於相對較小的資料大小。
參考資料:
- Java URL Connection: http://java.sun.com/docs/books/tutorial/networking/urls/readingWriting.html
- Java URL 讀取器: 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 |
doGetIgnore
public void doGetIgnore (String url)
針對特定網址執行 GET,並使用指定的網址參數來忽略結果。
參數 | |
---|---|
url |
String :網址 |
doGetIgnoreWithRetry
public void doGetIgnoreWithRetry (String url)
執行 {doGetIgnore(String)
} 失敗時重試。
參數 | |
---|---|
url |
String :網址 |
doGetWithRetry
public String doGetWithRetry (String url)
失敗時會重試 {doGet(String)
。
參數 | |
---|---|
url |
String :網址 |
傳回 | |
---|---|
String |
String 遠端內容 |
擲回 | |
---|---|
IHttpHelper.DataSizeException |
doPostWith 重試
public String doPostWithRetry (String url, String postData)
針對指定網址執行 POST HTTP 要求方法,並以 String
的形式傳回,在失敗時重試。
由於遠端內容會載入至記憶體,因此此方法僅適用於相對較小的資料大小。
參數 | |
---|---|
url |
String :網址 |
postData |
String :連線建立後要發布的資料 |
傳回 | |
---|---|
String |
String 遠端內容 |
擲回 | |
---|---|
IHttpHelper.DataSizeException |
doPostWithRetry
public String doPostWithRetry (String url, String postData, String contentType)
針對指定網址執行 POST HTTP 要求方法,並以 String
的形式傳回,在失敗時重試。
由於遠端內容會載入至記憶體,因此此方法僅適用於相對較小的資料大小。
參數 | |
---|---|
url |
String :網址 |
postData |
String :連線建立後要發布的資料 |
contentType |
String :內容類型。例如「text/html」。 |
傳回 | |
---|---|
String |
String 遠端內容 |
擲回 | |
---|---|
IHttpHelper.DataSizeException |
getInitialPollInterval
public int getInitialPollInterval ()
以毫秒為單位取得初始輪詢間隔。
傳回 | |
---|---|
int |
getMaxPollInterval
public int getMaxPollInterval ()
以毫秒為單位取得最大輪詢間隔。
傳回 | |
---|---|
int |
getMaxTime
public int getMaxTime ()
取得持續嘗試要求的最大時間 (以毫秒為單位)。
傳回 | |
---|---|
int |
getOpTimeout
public int getOpTimeout ()
取得作業逾時時間 (以毫秒為單位)。
傳回 | |
---|---|
int |
setInitialPollInterval
public void setInitialPollInterval (int time)
以毫秒為單位設定初始輪詢間隔。
參數 | |
---|---|
time |
int |
setMaxPollInterval
public void setMaxPollInterval (int time)
以毫秒為單位設定初始輪詢間隔。
參數 | |
---|---|
time |
int |
setMaxTime
public void setMaxTime (int time)
設定嘗試要求的時間上限 (以毫秒為單位)。
參數 | |
---|---|
time |
int |
setOpTimeout
public void setOpTimeout (int time)
以毫秒為單位設定作業逾時時間。
參數 | |
---|---|
time |
int |