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)

建立完整編碼的 URL 請求字串。

HttpURLConnection createConnection (URL url, String method, String contentType)

創建一個給定的 url。

HttpURLConnection createJsonConnection (URL url, String method)

建立到給定 URL 的連線以傳遞 json 資料。

HttpURLConnection createXmlConnection (URL url, String method)

建立到給定 URL 的連接以傳遞 xml 資料。

void doGet (String url, OutputStream outputStream)

對給定 URL 執行 GET HTTP 請求方法並將結果串流傳輸到ERROR(/OutputStream)

String doGet (String url)

對給定 URL 執行 GET HTTP 請求方法並將其作為String傳回。

void doGetIgnore (String url)

對給定 URL 執行 GET,給定 URL 參數忽略結果。

void doGetIgnoreWithRetry (String url)

執行 { doGetIgnore(String)失敗時重試。

String doGetWithRetry (String url)

執行 { doGet(String)失敗時重試。

String doPostWithRetry (String url, String postData)

對給定 URL 執行 POST HTTP 請求方法並將其作為String傳回,失敗時重試。

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

對給定 URL 執行 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 ()

公共方法

建構參數

public String buildParameters (MultiMap<String, String> paramMap)

建構編碼參數字串。

參數
paramMap MultiMap :URL 參數

退貨
String編碼後的參數字串

建置網址

public String buildUrl (String baseUrl, 
                MultiMap<String, String> paramMap)

建立完整編碼的 URL 請求字串。

參數
baseUrl String : 基本 URL

paramMap MultiMap :URL 參數

退貨
String建構的 URL

建立連接

public HttpURLConnection createConnection (URL url, 
                String method, 
                String contentType)

創建一個給定的 url。

參數
url URL :要連接的ERROR(/URL)

method String : HTTP 請求方法。例如,GET 或 POST。

contentType String :內容類型。例如,“文字/html”。

退貨
HttpURLConnection HttpURL連接

建立Json連接

public HttpURLConnection createJsonConnection (URL url, 
                String method)

建立到給定 URL 的連線以傳遞 json 資料。

參數
url URL :要連接的ERROR(/URL)

method String : HTTP 請求方法。例如,GET 或 POST。

退貨
HttpURLConnection ERROR(/HttpURLConnection)

建立Xml連接

public HttpURLConnection createXmlConnection (URL url, 
                String method)

建立到給定 URL 的連接以傳遞 xml 資料。

參數
url URL :要連接的ERROR(/URL)

method String : HTTP 請求方法。例如,GET 或 POST。

退貨
HttpURLConnection ERROR(/HttpURLConnection)

得到

public void doGet (String url, 
                OutputStream outputStream)

對給定 URL 執行 GET HTTP 請求方法並將結果串流傳輸到ERROR(/OutputStream)

參數
url String :網址

outputStream OutputStream :回應資料流

得到

public String doGet (String url)

對給定 URL 執行 GET HTTP 請求方法並將其作為String傳回。

由於遠端內容被載入到記憶體中,因此該方法只能用於相對較小的資料大小。

參考:

參數
url String :網址

退貨
String String遠端內容

投擲
IHttpHelper.DataSizeException

忽略

public void doGetIgnore (String url)

對給定 URL 執行 GET,給定 URL 參數忽略結果。

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

重試後執行

public String doPostWithRetry (String url, 
                String postData)

對給定 URL 執行 POST HTTP 請求方法並將其作為String傳回,失敗時重試。

由於遠端內容被載入到記憶體中,因此該方法只能用於相對較小的資料大小。

參數
url String :網址

postData String : 連線開啟後要發佈的數據

退貨
String String遠端內容

投擲
IHttpHelper.DataSizeException

重試後執行

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

對給定 URL 執行 POST HTTP 請求方法並將其作為String傳回,失敗時重試。

由於遠端內容被載入到記憶體中,因此該方法只能用於相對較小的資料大小。

參數
url String :網址

postData String : 連線開啟後要發佈的數據

contentType String :內容類型。例如,“文字/html”。

退貨
String String遠端內容

投擲
IHttpHelper.DataSizeException

取得初始輪詢間隔

public int getInitialPollInterval ()

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

退貨
int

取得最大輪詢間隔

public int getMaxPollInterval ()

取得最大輪詢間隔(以毫秒為單位)。

退貨
int

取得最大時間

public int getMaxTime ()

取得繼續嘗試請求的最長時間(以毫秒為單位)。

退貨
int

取得操作逾時

public int getOpTimeout ()

取得操作超時(以毫秒為單位)。

退貨
int

取得運行工具

public IRunUtil getRunUtil ()

取得IRunUtil來使用。暴露出來以便單元測試可以模擬。

退貨
IRunUtil

設定初始輪詢間隔

public void setInitialPollInterval (int time)

設定初始輪詢間隔(以毫秒為單位)。

參數
time int

設定最大輪詢間隔

public void setMaxPollInterval (int time)

設定初始輪詢間隔(以毫秒為單位)。

參數
time int

設定最大時間

public void setMaxTime (int time)

設定繼續嘗試請求的最長時間(以毫秒為單位)。

參數
time int

設定操作逾時

public void setOpTimeout (int time)

設定操作逾時(以毫秒為單位)。

參數
time int