Skip to content

HttpRequestBuilderOptions


此章节待补充或完善...

Marked by SuperMonster003 on Mar 21, 2023.


HttpRequestBuilderOptions 是一个构建 HTTP 请求时用于传递构建选项的接口.
这些选项将影响 HTTP 请求的构建.

常见相关方法或属性:


HttpRequestBuilderOptions


[p?] timeout

  • [ 30000 ] { number } - 超时时间, 单位为毫秒

[p?] method

  • { string } - HTTP 方法, 如 GET / POST / PUT / DELETE / HEAD

http.requesthttp.buildRequest 没有默认方法, 必须显式提供 method. get / post / postJson / postMultipart / put / delete 等便捷方法会自动写入.

[p?] headers

headers 必须是 JavaScript 对象. 值为数组时会逐项调用 OkHttp Request.Builder.header, 因此同名请求头会被后一次覆盖, 不是追加.

[p?] contentType

  • { string } - 请求体内容类型

[p?] body

请求体只支持 OkHttp RequestBody、字符串、或 function(sink) 形式的写入函数. 函数参数是 Okio BufferedSink. 源码没有数组或字节数组分支.

[p?] files

  • { object } - multipart 文件映射

仅当 body 不存在时用于构建 multipart 请求. 值支持 string / number 普通字段、[fileName, path][fileName, mimeType, path]PFileInterface.

[p?] maxRetries

  • { number } - OkHttp 最大重试次数

[p?] cacheBody

6.7.0

  • [ false ] { boolean } - 是否缓存响应体

启用后, response.body.string()response.body.bytes() 在响应体大小不超过阈值时可重复读取.

[p?] bodyCacheThresholdBytes

6.7.0

  • [ 8388608 ] { number } - 响应体缓存阈值, 默认 8 MiB

[p?] insecure

6.7.0

  • [ false ] { boolean } - 是否跳过 TLS 证书和主机名校验

isInsecure 是同义选项.

警告: 此选项会降低 HTTPS 安全性, 仅应在明确知道风险的调试或特殊网络环境中使用.

[p?] client

6.7.0

  • { object } - OkHttpClient.Builder 配置

键名会按反射方式映射到 okhttp3.OkHttpClient.Builder 的一参或两参方法. 0 参数 Builder 方法不允许通过此方式调用; 值为长度为 2 的列表时会优先尝试二参方法.

js
http.get('https://example.com', {
    client: {
        followRedirects: false,
        retryOnConnectionFailure: true,
    },
});

AutoJs6 应用文档