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

abstract String doGet(String url)

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

abstract void doGetIgnore(String url)

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

abstract void doGetIgnoreWithRetry(String url)

失敗時會重試 {doGetIgnore(String)

abstract String doGetWithRetry(String url)

失敗時會重試 {doGet(String)

abstract String doPostWithRetry(String url, String postData)

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

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

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

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

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

參考資料:

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