public abstract class HttpTask<C extends HttpTask<C>> extends Object implements Cancelable
| 限定符和类型 | 字段和说明 |
|---|---|
protected AbstractHttpClient |
httpClient |
protected boolean |
nextOnIO |
protected boolean |
nothrow |
protected boolean |
skipPreproc |
protected boolean |
skipSerialPreproc |
| 构造器和说明 |
|---|
HttpTask(AbstractHttpClient httpClient,
String urlPath) |
| 限定符和类型 | 方法和说明 |
|---|---|
C |
addBodyPara(Map<String,?> params)
Body参数:放在Body里的参数
|
C |
addBodyPara(String name,
Object value)
Body参数:放在Body里的参数
|
C |
addBodyPara(String name,
String type,
Object value)
Body参数:放在 Body 里的参数(该方法只适合表单提交方式)
|
C |
addFilePara(String name,
byte[] content,
String fileName)
添加文件参数(以 multipart/form-data 形式上传)
|
C |
addFilePara(String name,
File file)
添加文件参数(以 multipart/form-data 形式上传)
|
C |
addFilePara(String name,
InputStream stream,
String fileName)
添加文件参数(以 multipart/form-data 形式上传)
|
C |
addFilePara(String name,
String filePath)
添加文件参数(以 multipart/form-data 形式上传)
|
C |
addFilePara(String name,
String type,
byte[] content)
添加文件参数(以 multipart/form-data 形式上传)
|
C |
addFilePara(String name,
String type,
File file)
添加文件参数(以 multipart/form-data 形式上传)
|
C |
addFilePara(String name,
String type,
InputStream stream)
添加文件参数(以 multipart/form-data 形式上传)
|
C |
addFilePara(String name,
String type,
String filePath)
添加文件参数(以 multipart/form-data 形式上传)
|
C |
addFilePara(String name,
String type,
String fileName,
byte[] content)
添加文件参数(以 multipart/form-data 形式上传)
|
C |
addFilePara(String name,
String type,
String fileName,
InputStream stream)
添加文件参数(以 multipart/form-data 形式上传)
|
C |
addHeader(Map<String,String> headers)
添加请求头
|
C |
addHeader(String name,
String value)
添加请求头
|
C |
addPathPara(Map<String,?> params)
路径参数:替换URL里的{name}
|
C |
addPathPara(String name,
Object value)
路径参数:替换URL里的{name}
|
C |
addUrlPara(Map<String,?> params)
URL参数:拼接在URL后的参数
|
C |
addUrlPara(String name,
Object value)
URL参数:拼接在URL后的参数
|
protected void |
assertNotConflict(boolean bodyCantUsed)
参数冲突校验
|
C |
basicAuth(String username,
String password)
Basic Auth 认证
|
C |
bearerAuth(String token)
Bearer Auth 认证
|
C |
bind(Object object)
绑定一个对象
|
C |
bodyType(String type) |
String |
boundary() |
C |
boundary(String boundary)
设置 MultipartBody 的边界符
|
boolean |
cancel()
取消
|
C |
charset(Charset charset) |
Charset |
charset(okhttp3.Response response) |
protected void |
execute(Runnable command,
boolean onIo) |
cn.zhxu.data.ListMap<Object> |
getBodyParas() |
String |
getBodyType() |
Object |
getBound()
获得被绑定的对象
|
cn.zhxu.data.ListMap<FilePara> |
getFileParas() |
cn.zhxu.data.ListMap<String> |
getHeaders()
获取请求任务的头信息
|
cn.zhxu.data.ListMap<Object> |
getPathParas() |
Object |
getRequestBody() |
String |
getTag()
获取请求任务的标签
|
String |
getUrl()
获取请求任务的URL地址
|
cn.zhxu.data.ListMap<Object> |
getUrlParas() |
AbstractHttpClient |
httpClient() |
boolean |
isAsyncHttp() |
boolean |
isSyncHttp() |
boolean |
isTagged(String tag)
标签匹配
判断任务标签与指定的标签是否匹配(包含指定的标签)
|
boolean |
isWebsocket() |
C |
nextOnIO()
下一个回调在IO线程执行
|
C |
nothrow()
设置在发生异常时不向上抛出,设置后:
异步请求可以在异常回调内捕获异常,同步请求在返回结果中找到该异常
|
protected okhttp3.Call |
prepareCall(String method) |
protected okhttp3.Request |
prepareRequest(String method) |
protected void |
registeTagTask(Cancelable canceler) |
protected void |
removeTagTask() |
C |
setBodyPara(Object body)
设置 请求报文体
|
C |
setOnProcess(Consumer<Process> onProcess)
设置报文体发送进度回调
|
C |
setRange(long rangeStart)
设置Range头信息
表示接收报文体时跳过的字节数,用于断点续传
|
C |
setRange(long rangeStart,
long rangeEnd)
设置 Range 头信息
设置接收报文体时接收的范围,用于分块下载
|
C |
skipPreproc()
指定该请求跳过任何预处理器(包括串行和并行)
|
C |
skipSerialPreproc()
指定该请求跳过任何串行预处理器
|
C |
stepBytes(long stepBytes)
设置进度回调的步进字节,默认 8K(8192)
表示每接收 stepBytes 个字节,执行一次进度回调
|
C |
stepRate(double stepRate)
设置进度回调的步进比例
表示每接收 stepRate 比例,执行一次进度回调
|
C |
tag(String tag) |
protected boolean |
timeoutAwait(CountDownLatch latch) |
protected HttpResult |
timeoutResult() |
protected HttpResult.State |
toState(IOException e) |
protected final AbstractHttpClient httpClient
protected boolean nothrow
protected boolean nextOnIO
protected boolean skipPreproc
protected boolean skipSerialPreproc
public HttpTask(AbstractHttpClient httpClient, String urlPath)
public String getUrl()
public boolean isWebsocket()
public boolean isSyncHttp()
public boolean isAsyncHttp()
public String getTag()
public String getBodyType()
public boolean isTagged(String tag)
tag - 标签public cn.zhxu.data.ListMap<String> getHeaders()
public cn.zhxu.data.ListMap<Object> getPathParas()
public cn.zhxu.data.ListMap<Object> getUrlParas()
public cn.zhxu.data.ListMap<Object> getBodyParas()
public cn.zhxu.data.ListMap<FilePara> getFileParas()
public Object getRequestBody()
public Object getBound()
public C nothrow()
public C skipPreproc()
public C skipSerialPreproc()
public C charset(Charset charset)
charset - 编码格式public C bodyType(String type)
type - 请求类型public C nextOnIO()
public C basicAuth(String username, String password)
username - 用户名password - 密码public C bearerAuth(String token)
token - 令牌public C addHeader(String name, String value)
name - 请求头名value - 请求头值public C setRange(long rangeStart)
rangeStart - 表示从 rangeStart 个字节处开始接收,通常是已经下载的字节数,即上次的断点)public C setRange(long rangeStart, long rangeEnd)
rangeStart - 表示从 rangeStart 个字节处开始接收rangeEnd - 表示接收到 rangeEnd 个字节处public C setOnProcess(Consumer<Process> onProcess)
onProcess - 进度回调函数public C stepBytes(long stepBytes)
stepBytes - 步进字节public C stepRate(double stepRate)
stepRate - 步进比例public C addPathPara(String name, Object value)
name - 参数名value - 参数值public C addPathPara(Map<String,?> params)
params - 参数集合public C addUrlPara(String name, Object value)
name - 参数名value - 参数值public C addUrlPara(Map<String,?> params)
params - 参数集合public C addBodyPara(String name, Object value)
name - 参数名value - 参数值public C addBodyPara(String name, String type, Object value)
name - 参数名type - 媒体类型: 如 txt、json、xml 等,参考 HTTP.Builder.getMediaTypes()value - 参数值public C addBodyPara(Map<String,?> params)
params - 参数集合public C setBodyPara(Object body)
body - 请求报文体,可以是:
byte[] - 字节数组(直接作为报文体)
String - 字符串(比如:JSON 字符串、键值对字符串,也是直接作为报文体)
POJO - 普通 Java 数据对象(由MsgConvertor来序列化)
InputStream - 输入流(v3.5.0 开始支持)
public C addFilePara(String name, String filePath)
name - 参数名filePath - 文件路径public C addFilePara(String name, String type, String filePath)
name - 参数名type - 文件类型/扩展名: 如 txt、png、jpg、doc 等,参考 HTTP.Builder.getMediaTypes()filePath - 文件路径public C addFilePara(String name, File file)
name - 参数名file - 文件public C addFilePara(String name, String type, File file)
name - 参数名type - 文件类型/扩展名: 如 txt、png、jpg、doc 等file - 文件public C addFilePara(String name, String type, byte[] content)
name - 参数名type - 文件类型/扩展名: 如 txt、png、jpg、doc 等content - 文件内容public C addFilePara(String name, byte[] content, String fileName)
name - 参数名content - 文件内容fileName - 文件名: 如 xxx.txt、xxx.png、xxx.doc 等public C addFilePara(String name, String type, String fileName, byte[] content)
name - 参数名type - 文件类型/扩展名: 如 txt、png、jpg、doc 等fileName - 文件名content - 文件内容public C addFilePara(String name, String type, InputStream stream)
name - 参数名type - 文件类型/扩展名: 如 txt、png、jpg、doc 等stream - 文件输入流public C addFilePara(String name, InputStream stream, String fileName)
name - 参数名stream - 文件输入流fileName - 文件名: 如 xxx.txt、xxx.png、xxx.doc 等public C addFilePara(String name, String type, String fileName, InputStream stream)
name - 参数名type - 文件类型/扩展名: 如 txt、png、jpg、doc 等fileName - 文件名stream - 文件输入流public String boundary()
public C boundary(String boundary)
boundary - 边界符public boolean cancel()
Cancelablecancel 在接口中 Cancelableprotected void registeTagTask(Cancelable canceler)
protected void removeTagTask()
protected okhttp3.Call prepareCall(String method)
protected okhttp3.Request prepareRequest(String method)
protected HttpResult.State toState(IOException e)
protected void assertNotConflict(boolean bodyCantUsed)
bodyCantUsed - 报文体是否不可用protected boolean timeoutAwait(CountDownLatch latch)
latch - CountDownLatchprotected HttpResult timeoutResult()
public Charset charset(okhttp3.Response response)
protected void execute(Runnable command, boolean onIo)
public AbstractHttpClient httpClient()
Copyright © 2025 zhouxu. All rights reserved.