类对象支持库(不是扁平命令)。路径:支持库 → 扩展类库 → HTTP类。
类型名必须写完整「HTTP类」。声明时自动创建,一般无需再调 创建*。
硬约束
- 类型名必须写「HTTP类」。
- 方法调用必须带括号。
- 提交/下载失败看返回值与错误信息(以各方法说明为准)。
- 常与 JSON类、查询串类、编码类联用。
- 默认同步。
异步(真)后,提交/提交字节集/下载在后台执行并立刻返回;用定时器看是否完成(),再取响应。提交流式仍须异步(假)。
快速开始
HTTP类 http
文本 回 = http.提交("GET", "https://httpbin.org/get")
输出(回)
输出(http.取状态码())
异步(不卡界面)
HTTP类 http
定时器类 t
http.异步(真)
http.提交("GET", url) // 立刻返回空文本;后台执行
函数 轮询 () {
如果 (http.是否完成()) {
t.停止()
输出(http.取响应文本())
}
}
t.启动(50, &轮询)
- 异步时:
提交/提交字节集立刻返回空;下载立刻返回真(已开始)。结果看是否完成()之后的取响应文本/取状态码/取错误。 提交流式仍须异步(假)。异步下载不调用进度回调。- 不要在按钮事件里空转等完成,用定时器轮询;可用
取消()中止后台请求。 - 默认自动解压 gzip/deflate;内网自签可用
忽略证书(真)。 - 同一会话连续访问同一主机时会复用 WinHTTP 连接。
- 关闭窗口前若还有后台请求,运行库会等待结束;也可先
取消()/重置()。
HTTP类/创建
共 1 条。
创建HTTP
- 签名:
通用 创建HTTP() - 说明:创建一个独立的 HTTP 会话。一般直接写「HTTP类 h」即可(声明时自动创建);「创建HTTP()」仅在需要显式赋值时使用。
HTTP类/方法
共 31 条。
异步
- 签名:
无 异步([逻辑 启用=真]) - 说明:真=本会话之后的 提交/提交字节集/下载 放到后台线程,调用立刻返回;假=恢复同步。默认假。用定时器看
是否完成()再取响应。提交流式须先异步(假)。
是否完成
- 签名:
逻辑 是否完成() - 说明:没有进行中的后台请求时为真。同步模式下恒为真。
取消
- 签名:
逻辑 取消() - 说明:取消进行中的后台请求;无后台任务时返回假。取消后
取错误()常为「已取消」。
启用解压
- 签名:
无 启用解压([逻辑 启用=真]) - 说明:是否自动解压 gzip/deflate 响应正文。默认开。
取解压
- 签名:
逻辑 取解压() - 说明:是否已启用自动解压。
忽略证书
- 签名:
无 忽略证书([逻辑 启用=真]) - 说明:HTTPS 时是否忽略证书错误(自签/过期/主机名不匹配)。默认关。仅建议内网调试使用。
取忽略证书
- 签名:
逻辑 取忽略证书() - 说明:是否已忽略证书错误。
置超时
- 签名:
无 置超时(整数 毫秒) - 说明:设置本会话后续请求的超时(解析/连接/发送/接收共用同一毫秒值)。无返回值。
- 参数一│整数 毫秒: >0 生效;≤0 时回退为 30000。
置请求头
- 签名:
逻辑 置请求头(文本 名, 文本 值) - 说明:设置或覆盖一条「请求」头(下次 提交/下载 发出)。
- 参数二│文本 值: 可为空文本(仍会发送「名:」行)。
置Cookie
- 签名:
逻辑 置Cookie(文本 Cookie[, 文本 值]) - 说明:设置本会话 Cookie 请求头。单参数:整段 Cookie 字符串(多条用 “; ” 分隔,与浏览器复制一致);双参数:追加单个 name=value(已有 Cookie 时用 “; ” 拼接)。
- 参数一│文本 Cookie: 单参数时为整段 Cookie;双参数时为 Cookie 名。
- 参数二│[文本 值]: 省略=参数一为整段 Cookie;提供时为 Cookie 值(可为空文本)。
启用自动Cookie
- 签名:
无 启用自动Cookie([逻辑 启用]) - 说明:启用后:每次响应自动把 Set-Cookie 合并进本会话 Cookie,后续请求自动带上。默认关闭;不影响既有 置Cookie / 置请求头 用法。
- 参数一│[逻辑 启用]: 真/省略=启用;假=关闭自动合并。
取自动Cookie
- 签名:
逻辑 取自动Cookie() - 说明:返回是否已启用自动 Cookie 合并。
取Cookie
- 签名:
文本 取Cookie() - 说明:返回本会话当前将发送的 Cookie 请求头(整段 name=value; …)。
清空Cookie
- 签名:
无 清空Cookie() - 说明:清空本会话 Cookie 罐与 Cookie 请求头(不影响其它请求头)。无返回值。
删请求头
- 签名:
逻辑 删请求头(文本 名) - 说明:删除一条已设置的请求头。
- 参数一│文本 名: 须与置请求头时写入的名称一致(区分大小写)。
清空请求头
- 签名:
无 清空请求头() - 说明:清空本会话全部自定义请求头。无返回值。
置代理
- 签名:
无 置代理(文本 代理, [文本 账号], [文本 密码]) - 说明:设置本会话代理;可选账号/密码(需认证的 HTTP/HTTPS 代理)。空/「系统」=系统代理;「直连」=不走代理。无返回值。
- 参数一│文本 代理: 支持多种写法—— • “” / “系统”:系统默认代理 • “直连” / “none”:不使用代理 • “127.0.0.1:7890” 或 “http://127.0.0.1:7890”:HTTP 代理 • “socks5://127.0.0.1:1080”:SOCKS(系统支持时) • “user:pass@127.0.0.1:7890” 或 “http://user:pass@host:port”:带认证 • “http=h:1;https=h:1”:WinHTTP 多协议列表
- 参数二│[文本 账号]: 代理登录账号;省略则尝试从地址里的 user:pass@ 解析。
- 参数三│[文本 密码]: 代理登录密码;与账号成对使用。
禁止重定向
- 签名:
无 禁止重定向([逻辑 禁止]) - 说明:是否禁止自动跟随 3xx 重定向。默认假=允许跟随。无返回值。
- 参数一│[逻辑 禁止]: 真=不跟随;假/省略=允许跟随。
置重定向次数
- 签名:
无 置重定向次数([整数 次数]) - 说明:允许自动跟随重定向的最大次数。默认 -1 表示尽量跟到最后。无返回值。
- 参数一│[整数 次数]: -1=不限(内部较大上限);0=不跟随;>0=最多 N 次。
提交
- 签名:
文本 提交(文本 方法, 文本 URL, [文本 正文]) - 说明:按 HTTP 方法请求;直接返回响应文本。失败返回空文本,看 取错误()。正文可选:GET/HEAD/OPTIONS 等通常省略;POST/PUT/PATCH 等再传。协议头用 置请求头,代理用 置代理。
- 参数一│文本 方法: GET/POST/PUT/HEAD/OPTIONS/DELETE/PATCH 等(大小写均可)。
- 参数二│文本 URL: 完整网址。
- 参数三│[文本 正文]: 可选请求体(UTF-8);无正文可省略。
提交字节集
- 签名:
字节集 提交字节集(文本 方法, 文本 URL, [字节集 正文]) - 说明:按 HTTP 方法请求;直接返回响应字节集。正文可选(GET 等可省略)。失败返回空字节集。
- 参数一│文本 方法: GET/POST/PUT/HEAD/OPTIONS/DELETE/PATCH 等。
- 参数二│文本 URL。
- 参数三│[字节集 正文]: 可选;无正文可省略。
提交流式
- 签名:
逻辑 提交流式(文本 方法, 文本 URL, 文本 正文, [子程序指针 增量回调]) - 说明:同步发起 HTTP 请求,边收响应边回调「增量文本」。 传输层:按 SSE(Server-Sent Events)分行读取 data: 行,并在回调间隙泵一次 UI 消息以便刷新界面。 解析层(当前实现):从每条 data JSON 中提取 OpenAI/DeepSeek chat.completions 兼容的 choices[].delta.content;不是任意原始字节流,也不是通用 NDJSON。 返回真=流读完且无传输错;假=看 取错误()。
- 参数一│文本 方法: 通常 “POST”;也可用 GET 等(视服务端是否推 SSE)。
- 参数二│文本 URL。
- 参数三│文本 正文: 请求体(多为 JSON);对接 chat 流式时正文里须 “stream”: true。
- 参数四│[子程序指针 增量回调]: 如 &流式增量;签名 函数 增量(文本 增量)。有 content 时回调非空增量;流结束再回调一次 增量=”“(可忽略)。
下载
- 签名:
逻辑 下载(文本 URL, 文本 保存路径, [子程序指针 进度回调]) - 说明:GET 流式写入本地文件。Cookie/协议头/代理/重定向均用会话设置。可选进度回调:函数 进度(整数 已收, 整数 总计)。返回真=写完。
- 参数一│文本 URL。
- 参数二│文本 保存路径: 完整路径;空路径返回假。
- 参数三│[子程序指针 进度回调]: 如 &下载进度;省略或 0 表示不要。总计未知时总计=-1。
取状态码
- 签名:
整数 取状态码() - 说明:最近一次成功收到响应后的 HTTP 状态码。
取响应字节数
- 签名:
整数 取响应字节数() - 说明:最近一次响应正文的原始字节长度(解码前)。
取响应文本
- 签名:
文本 取响应文本() - 说明:最近一次响应正文解码为文本(优先 UTF-8,含 BOM 剥离;失败回退 ACP)。
取响应字节集
- 签名:
字节集 取响应字节集() - 说明:最近一次响应正文的原始字节副本(不经文本解码)。
取响应头
- 签名:
文本 取响应头(文本 名) - 说明:按名称取一条响应头的值;找不到返回空文本。查找不区分大小写。
- 参数一│文本 名: 如 “Content-Type”、”content-type” 等效。
取全部响应头
- 签名:
文本 取全部响应头() - 说明:返回原始响应头文本(CRLF 分隔,通常含状态行),便于调试。
取错误
- 签名:
文本 取错误() - 说明:最近一次失败操作的错误说明;无错时为空文本。
重置
- 签名:
无 重置() - 说明:清空请求头、代理、重定向设置、状态码、响应体/头、错误,并将超时恢复为 30000。无返回值。
易错对照
| 错误 | 正确 |
|---|---|
| 类型写成 HTTP | 必须「HTTP类」 |
| 忽略超时/错误 | 检查返回与错误信息 |
冒烟
| 工程 | 测什么 |
|---|---|