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 数据。

String doGet(String url)

针对指定网址执行 GET HTTP 请求方法,并以 String 形式返回结果。

void doGet(String url, OutputStream outputStream)

针对给定网址执行 GET HTTP 请求方法,并将结果流式传输到 OutputStream

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 构建的网址

createConnection

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

创建指向给定网址的链接。

参数
url URL:要连接的 URL

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

contentType String:内容类型。例如,“text/html”。

返回
HttpURLConnection Http网址Connection

抛出
IOException

createJsonConnection

public HttpURLConnection createJsonConnection (URL url, 
                String method)

创建与给定网址的连接,以传递 JSON 数据。

参数
url URL:要连接的 URL

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

返回
HttpURLConnection HttpURLConnection

抛出
IOException

createXmlConnection

public HttpURLConnection createXmlConnection (URL url, 
                String method)

创建与给定网址的连接,以传递 XML 数据。

参数
url URL:要连接的 URL

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

返回
HttpURLConnection HttpURLConnection

抛出
IOException

doGet

public String doGet (String url)

针对给定网址执行 GET HTTP 请求方法,并以 String 形式返回结果。

由于远程内容会加载到内存中,因此此方法仅适用于相对较小的数据量。

参考资料:

参数
url String:网址

返回
String String 远程内容

抛出
IHttpHelper.DataSizeException
IOException

doGet

public void doGet (String url, 
                OutputStream outputStream)

针对给定网址执行 GET HTTP 请求方法,并将结果流式传输到 OutputStream

参数
url String:网址

outputStream OutputStream:响应数据流

抛出
IOException

doGetIgnore

public void doGetIgnore (String url)

使用给定的网址参数对给定的网址执行 GET 操作,并忽略结果。

参数
url String:网址

抛出
IOException

doGetIgnoreWithRetry

public void doGetIgnoreWithRetry (String url)

在失败时执行 {doGetIgnore(String) 重试。

参数
url String:网址

抛出
IOException

doGetWithRetry

public String doGetWithRetry (String url)

在失败时执行 {doGet(String) 重试。

参数
url String:网址

返回
String String 远程内容

抛出
IHttpHelper.DataSizeException
IOException

doPostWithRetry

public String doPostWithRetry (String url, 
                String postData)

针对指定网址执行 POST HTTP 请求方法,并以 String 形式返回,失败时会重试。

由于远程内容会加载到内存中,因此此方法仅适用于相对较小的数据量。

参数
url String:网址

postData String:连接打开后要发布的数据

返回
String String 远程内容

抛出
IHttpHelper.DataSizeException
IOException

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
IOException

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

setMaxPollInterval

public void setMaxPollInterval (int time)

设置初始轮询间隔(以毫秒为单位)。

参数
time int

setMaxTime

public void setMaxTime (int time)

设置尝试请求的最长时间(以毫秒为单位)。

参数
time int

setOpTimeout

public void setOpTimeout (int time)

设置操作超时时间(以毫秒为单位)。

参数
time int