网络方法
警告
本文档适用于 WAuxiliary 最新版本
所有请求均为异步回调方式,不要把它当作同步返回值来用。
新手先看
- 请求结果在
callback里拿,不在方法返回值里拿。 headerMap、paramMap不需要时可以传null。- 下载完成后的文件路径,通常从
file.getAbsolutePath()取。
GET 请求
beanshell
void get(String url, Map<String, String> headerMap, Consumer<String> callback);
void get(String url, Map<String, String> headerMap, long timeout, Consumer<String> callback);url:请求地址headerMap:请求头,可传nulltimeout:超时时间,单位秒,默认30callback:响应文本回调,失败时可能为null
示例
beanshell
get("https://example.com", null, body -> {
log(body);
});POST 请求
beanshell
void post(String url, Map<String, String> paramMap, Map<String, String> headerMap, Consumer<String> callback);
void post(String url, Map<String, String> paramMap, Map<String, String> headerMap, long timeout, Consumer<String> callback);paramMap:请求参数,可传nullheaderMap:请求头,可传null- 当
Content-Type包含application/json时,参数会按 JSON 发送 callback:响应文本回调,失败时可能为null
示例
beanshell
var params = new java.util.HashMap();
params.put("q", "hello");
post("https://example.com/api", params, null, body -> {
log(body);
});下载文件
beanshell
void download(String url, String path, Map<String, String> headerMap, Consumer<File> callback);
void download(String url, String path, Map<String, String> headerMap, long timeout, Consumer<File> callback);url:下载地址path:保存路径;可以是文件路径或下载目录,具体以宿主下载实现为准headerMap:请求头,可传nulltimeout:超时时间,单位秒,默认30callback:下载完成后的文件回调,失败时可能为null
示例
beanshell
String imgUrl = "https://example.com/a.jpg";
download(imgUrl, cacheDir + "/demo.jpg", null, file -> {
if (file != null) {
log(file.getAbsolutePath());
sendImage(getTargetTalker(), file.getAbsolutePath());
}
});