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

createConnection

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

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

参数
url URL:要连接的 ERROR(/URL)

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

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

返回
HttpURLConnection Http网址Connection

createJsonConnection

public HttpURLConnection createJsonConnection (URL url, 
                String method)

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

参数
url URL:要连接的 ERROR(/URL)

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

返回
HttpURLConnection ERROR(/HttpURLConnection)

createXmlConnection

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:网址

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)

针对给定网址执行 POST HTTP 请求方法,并将其作为 String 返回,并在失败后重试。

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

参数
url String:网址

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

返回
String String 远程内容

抛出
IHttpHelper.DataSizeException

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

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