HttpHelper
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) 构建完整编码的 URL 请求字符串。 |
abstract HttpURLConnection | createConnection (URL url, String method, String contentType) 创建一个给定的 url。 |
abstract HttpURLConnection | createJsonConnection (URL url, String method) 创建到给定 URL 的连接以传递 json 数据。 |
abstract HttpURLConnection | createXmlConnection (URL url, String method) 创建到给定 URL 的连接以传递 xml 数据。 |
abstract void | doGet (String url, OutputStream outputStream) 对给定 URL 执行 GET HTTP 请求方法并将结果流式传输到 |
abstract String | doGet (String url) 对给定 URL 执行 GET HTTP 请求方法并将其作为 |
abstract void | doGetIgnore (String url) 对给定 URL 执行 GET,给定 URL 参数忽略结果。 |
abstract void | doGetIgnoreWithRetry (String url) 执行 { |
abstract String | doGetWithRetry (String url) 执行 { |
abstract String | doPostWithRetry (String url, String postData) 对给定 URL 执行 POST HTTP 请求方法并将其作为 |
abstract String | doPostWithRetry (String url, String postData, String contentType) 对给定 URL 执行 POST HTTP 请求方法并将其作为 |
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) 设置操作超时(以毫秒为单位)。 |
常数
最大数据大小
public static final int MAX_DATA_SIZE
常量值:65536 (0x00010000)
公共方法
构建参数
public abstract String buildParameters (MultiMap<String, String> paramMap)
构建编码参数字符串。
参数 | |
---|---|
paramMap | MultiMap :URL 参数 |
退货 | |
---|---|
String | 编码后的参数字符串 |
投掷 | |
---|---|
IllegalArgumentException | 如果编码参数时发生异常。 |
构建网址
public abstract String buildUrl (String url, MultiMap<String, String> paramMap)
构建完整编码的 URL 请求字符串。
参数 | |
---|---|
url | String : 基本 URL |
paramMap | MultiMap :URL 参数 |
退货 | |
---|---|
String | 构造的 URL |
投掷 | |
---|---|
IllegalArgumentException | 如果编码参数时发生异常。 |
创建连接
public abstract HttpURLConnection createConnection (URL url, String method, String contentType)
创建一个给定的 url。
参数 | |
---|---|
url | URL :要连接的ERROR(/URL) 。 |
method | String : HTTP 请求方法。例如,GET 或 POST。 |
contentType | String :内容类型。例如,“文本/html”。 |
退货 | |
---|---|
HttpURLConnection | HttpURL连接 |
投掷 | |
---|---|
| 如果发生 IOException。 |
创建Json连接
public abstract HttpURLConnection createJsonConnection (URL url, String method)
创建到给定 URL 的连接以传递 json 数据。
参数 | |
---|---|
url | URL :要连接的ERROR(/URL) 。 |
method | String : HTTP 请求方法。例如,GET 或 POST。 |
退货 | |
---|---|
HttpURLConnection | ERROR(/HttpURLConnection) |
投掷 | |
---|---|
| 如果连接失败 |
创建Xml连接
public abstract HttpURLConnection createXmlConnection (URL url, String method)
创建到给定 URL 的连接以传递 xml 数据。
参数 | |
---|---|
url | URL :要连接的ERROR(/URL) 。 |
method | String : HTTP 请求方法。例如,GET 或 POST。 |
退货 | |
---|---|
HttpURLConnection | ERROR(/HttpURLConnection) |
投掷 | |
---|---|
| 如果连接失败 |
得到
public abstract void doGet (String url, OutputStream outputStream)
对给定 URL 执行 GET HTTP 请求方法并将结果流式传输到ERROR(/OutputStream)
。
参数 | |
---|---|
url | String :网址 |
outputStream | OutputStream :响应数据流 |
投掷 | |
---|---|
| 如果检索数据失败 |
也可以看看:
得到
public abstract String doGet (String url)
对给定 URL 执行 GET HTTP 请求方法并将其作为String
返回。
由于远程内容被加载到内存中,因此该方法只能用于相对较小的数据大小。
参考:
- Java URL 连接: http://java.sun.com/docs/books/tutorial/networking/urls/readingWriting.html
- Java URL 阅读器: http://java.sun.com/docs/books/tutorial/networking/urls/readingURL.html
- Java设置代理: http://java.sun.com/docs/books/tutorial/networking/urls/_setProxy.html
参数 | |
---|---|
url | String :网址 |
退货 | |
---|---|
String | String 远程内容 |
投掷 | |
---|---|
| 如果检索数据失败 |
IHttpHelper.DataSizeException | 如果检索到的数据 > MAX_DATA_SIZE |
忽略
public abstract void doGetIgnore (String url)
对给定 URL 执行 GET,给定 URL 参数忽略结果。
参数 | |
---|---|
url | String :网址 |
投掷 | |
---|---|
| 如果检索数据失败 |
也可以看看:
doGetIgnoreWithRetry
public abstract void doGetIgnoreWithRetry (String url)
执行 { doGetIgnore(String)
失败时重试。
参数 | |
---|---|
url | String :网址 |
投掷 | |
---|---|
| 如果检索数据失败 |
doGetWithRetry
public abstract String doGetWithRetry (String url)
执行 { doGet(String)
失败时重试。
参数 | |
---|---|
url | String :网址 |
退货 | |
---|---|
String | String 远程内容 |
投掷 | |
---|---|
| 如果检索数据失败 |
IHttpHelper.DataSizeException | 如果检索到的数据 > MAX_DATA_SIZE |
重试后执行
public abstract String doPostWithRetry (String url, String postData)
对给定 URL 执行 POST HTTP 请求方法并将其作为String
返回,失败时重试。
由于远程内容被加载到内存中,因此该方法只能用于相对较小的数据大小。
参数 | |
---|---|
url | String :网址 |
postData | String : 连接打开后要发布的数据 |
退货 | |
---|---|
String | String 远程内容 |
投掷 | |
---|---|
| 如果检索数据失败 |
IHttpHelper.DataSizeException | 如果检索到的数据 > MAX_DATA_SIZE |
重试后执行
public abstract String doPostWithRetry (String url, String postData, String contentType)
对给定 URL 执行 POST HTTP 请求方法并将其作为String
返回,失败时重试。
由于远程内容被加载到内存中,因此该方法只能用于相对较小的数据大小。
参数 | |
---|---|
url | String :网址 |
postData | String : 连接打开后要发布的数据 |
contentType | String :内容类型。例如,“文本/html”。 |
退货 | |
---|---|
String | String 远程内容 |
投掷 | |
---|---|
| 如果检索数据失败 |
IHttpHelper.DataSizeException | 如果检索到的数据 > MAX_DATA_SIZE |
获取初始轮询间隔
public abstract int getInitialPollInterval ()
获取初始轮询间隔(以毫秒为单位)。
退货 | |
---|---|
int |
获取最大轮询间隔
public abstract int getMaxPollInterval ()
获取最大轮询间隔(以毫秒为单位)。
退货 | |
---|---|
int |
获取最大时间
public abstract int getMaxTime ()
获取继续尝试请求的最长时间(以毫秒为单位)。
退货 | |
---|---|
int |
获取操作超时
public abstract int getOpTimeout ()
获取操作超时(以毫秒为单位)。
退货 | |
---|---|
int |
设置初始轮询间隔
public abstract void setInitialPollInterval (int time)
设置初始轮询间隔(以毫秒为单位)。
参数 | |
---|---|
time | int |
设置最大轮询间隔
public abstract void setMaxPollInterval (int time)
设置初始轮询间隔(以毫秒为单位)。
参数 | |
---|---|
time | int |
设置最大时间
public abstract void setMaxTime (int time)
设置继续尝试请求的最长时间(以毫秒为单位)。
参数 | |
---|---|
time | int |
设置操作超时
public abstract void setOpTimeout (int time)
设置操作超时(以毫秒为单位)。
参数 | |
---|---|
time | int |
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2023-07-19。