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)
設定嘗試要求的時間上限 (以毫秒為單位)。 |
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 |
建構的網址 |
建立連線
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) |
建立 XmlConnection
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 網址讀取器: 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 :網址 |
doGetIgnoreWith 重試
public void doGetIgnoreWithRetry (String url)
失敗時會重試 {doGetIgnore(String)
。
參數 | |
---|---|
url |
String :網址 |
doGetWith 重試
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 |
doPostWith 重試
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 |
設定 MaxPollInterval
public void setMaxPollInterval (int time)
設定初始輪詢時間間隔 (以毫秒為單位)。
參數 | |
---|---|
time |
int |
設定最大時間
public void setMaxTime (int time)
設定嘗試要求的時間上限 (以毫秒為單位)。
參數 | |
---|---|
time |
int |
setOpTimeout
public void setOpTimeout (int time)
設定作業逾時 (以毫秒為單位)。
參數 | |
---|---|
time |
int |