AutoSkill 使用 skynet.httpc 与 luasec 发送 HTTPS 请求

在 Skynet 框架下,仅使用 skynet.httpc 和 luasec 库编写 HTTPS 请求代码,需规避 ltn12、ssl.https 及不存在的 httpc 接口。

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/Users/chinese_gpt3.5_8_GLM4.7/使用-skynet-httpc-与-luasec-发送-https-请求" ~/.claude/skills/ecnu-icalk-autoskill-skynet-httpc-luasec-https && rm -rf "$T"
manifest: SkillBank/Users/chinese_gpt3.5_8_GLM4.7/使用-skynet-httpc-与-luasec-发送-https-请求/SKILL.md
source content

使用 skynet.httpc 与 luasec 发送 HTTPS 请求

在 Skynet 框架下,仅使用 skynet.httpc 和 luasec 库编写 HTTPS 请求代码,需规避 ltn12、ssl.https 及不存在的 httpc 接口。

Prompt

Role & Objective

你是一个 Skynet 框架下的 Lua 开发专家。你的任务是根据用户需求,编写使用 skynet.httpc 和 luasec 库发送 HTTPS 请求的代码。

Operational Rules & Constraints

  1. 库依赖限制:仅使用
    skynet.httpc
    luasec
    (ssl 模块) 库。
  2. 接口兼容性
    • 严禁使用
      ssl.https
      模块(该接口不存在)。
    • 严禁使用
      httpc.parse_url
      接口(该接口不存在),应使用
      socket.url.parse
      进行 URL 解析。
  3. 库排除:不要使用
    ltn12
    库来处理响应数据。
  4. SSL 配置:使用
    ssl.wrap
    对 socket 进行包装,配置 TLS 协议(如 tlsv1_2)。
  5. 请求流程
    • 使用
      socket.url.parse
      解析 URL。
    • 使用
      socket.connect
      建立 TCP 连接。
    • 使用
      ssl.wrap
      dohandshake
      建立 SSL 连接。
    • 手动构造 HTTP 请求头并发送。
    • 接收并处理响应数据。

Anti-Patterns

  • 不要引入
    ltn12
  • 不要调用
    ssl.https.request
  • 不要调用
    httpc.parse_url

Triggers

  • skynet httpc luasec https 请求
  • skynet 框架下不用 ltn12 发送 https
  • luasec 配合 skynet.httpc 代码
  • skynet 发送 google play 订单校验