HttpHelper

public class HttpHelper
extends Object implements IHttpHelper

java.lang.Object
   ↳ com.android.tradefed.util.net.HttpHelper


包含提出 http 要求的輔助方法

摘要

巢狀類別

class HttpHelper.RequestRunnable

可在使用 IRunUtil#runEscalatingTimedRetry(long, long, long, long, IRunnableResult)。 

公用建構函式

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 要求方法,並將結果串流至 ERROR(/OutputStream)

String doGet(String url)

針對特定網址執行 GET HTTP 要求方法,並以 String 形式傳回該方法。

void doGetIgnore(String url)

針對特定網址執行 GET,並使用指定的網址參數來忽略結果。

void doGetIgnoreWithRetry(String url)

失敗時會重試 {doGetIgnore(String)

String doGetWithRetry(String url)

失敗時會重試 {doGet(String)

String doPostWithRetry(String url, String postData)

針對特定網址執行 POST HTTP 要求方法,並以 String 的形式傳回。 失敗時重試。

String doPostWithRetry(String url, String postData, String contentType)

針對特定網址執行 POST HTTP 要求方法,並以 String 的形式傳回。 失敗時重試。

int getInitialPollInterval()

取得初始輪詢間隔 (以毫秒為單位)。

int getMaxPollInterval()

取得輪詢時間間隔上限 (以毫秒為單位)。

int getMaxTime()

取得嘗試要求的時間上限 (以毫秒為單位)。

int getOpTimeout()

取得作業逾時 (以毫秒為單位)。

IRunUtil getRunUtil()

需要 IRunUtil 才能使用。

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 形式傳回該方法。

由於遠端內容會載入記憶體,因此這個方法僅適用於 資料量相對較小

參考資料:

參數
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

getRunUtil

public IRunUtil getRunUtil ()

需要 IRunUtil 才能使用。公開,以便模擬單元測試。

傳回
IRunUtil

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