首页龙虾技能列表 › Curl Http — 基本curl命令用于HTTP请求、API测试和文件传输

🌐 Curl Http — 基本curl命令用于HTTP请求、API测试和文件传输

v1.0.0

提供基本的curl命令用于HTTP请求、API测试和文件传输,涵盖GET、POST、文件传输、认证、头部自定义等,适用于开发者快速测试和使用HTTP服务。

5· 5,200·0 当前·0 累计
by @arnarsson·MIT-0
下载技能包
License
MIT-0
最后更新
2026/1/29
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
此技能仅包含curl使用指南,逻辑一致,不要求额外凭证或安装。
评估建议
该技能主要作为curl命令参考,逻辑清晰。但请注意:(1) 示例中直接在命令行或URL中使用凭证可能泄露秘密;(2) 部分示例引用本地文件;(3) 元数据中关于声明curl二进制文件要求的小不一致。如果允许代理执行命令,请确保信任其网络访问权限,并避免在命令行参数或查询字符串中存储秘密。...
详细分析 ▾
用途与能力
名称/描述呈现为curl HTTP客户端指南,SKILL.md包含curl命令和示例,宣称的功能与指示相符。元数据中小不一致:SKILL.md元数据列出要求的二进制文件为["curl"],而注册元数据上未列出所需的二进制文件。
指令范围
指令专注于使用curl进行HTTP请求和文件传输,包括引用本地文件的示例(如@data.json、client.key、cookies.txt)和如何包含凭证(基本认证、头部、URL中的API密钥)以及不安全选项(-k、查询中的API密钥)。这些对于curl使用很相关,但可能鼓励不安全的实践或如果代理执行则导致本地文件访问——作为curl指南,示例是预期的,但需要谨慎。
安装机制
无安装规格和代码文件——仅指令的最低风险技能。安装技能不会下载或写入磁盘。
凭证需求
技能未声明所需的环境变量或凭证。示例显示如何为目标服务提供身份验证凭证(对于HTTP客户端文档是正常的),但没有请求无关的秘密。
持久化与权限
always:false 和正常的模型调用设置。技能可以自主调用(平台默认),这意味着当代理决定使用此技能时,可以运行curl命令——对于此类型的指令技能这是预期的。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/1/29
● 无害

安装命令 点击复制

官方npx clawhub@latest install curl-http
镜像加速npx clawhub@latest install curl-http --registry https://cn.clawhub-mirror.com

技能文档

用于发起 HTTP 请求和传输数据的命令行工具。

基本请求

GET 请求

# 简单 GET 请求
curl https://api.example.com

# 保存到文件 curl https://example.com -o output.html curl https://example.com/file.zip -O # 使用远程文件名

# 跟随重定向 curl -L https://example.com

# 显示响应头 curl -i https://example.com

# 仅显示头部 curl -I https://example.com

# 详细输出(调试) curl -v https://example.com

POST 请求

# POST 发送数据
curl -X POST https://api.example.com/users \
  -d "name=John&email=john@example.com"

# POST JSON 数据 curl -X POST https://api.example.com/users \ -H "Content-Type: application/json" \ -d '{"name":"John","email":"john@example.com"}'

# 从文件 POST curl -X POST https://api.example.com/users \ -H "Content-Type: application/json" \ -d @data.json

# 表单上传 curl -X POST https://api.example.com/upload \ -F "file=@document.pdf" \ -F "description=My document"

其他 HTTP 方法

# PUT 请求
curl -X PUT https://api.example.com/users/1 \
  -H "Content-Type: application/json" \
  -d '{"name":"Jane"}'

# DELETE 请求 curl -X DELETE https://api.example.com/users/1

# PATCH 请求 curl -X PATCH https://api.example.com/users/1 \ -H "Content-Type: application/json" \ -d '{"email":"newemail@example.com"}'

请求头与认证

自定义请求头

# 添加自定义头
curl -H "User-Agent: MyApp/1.0" https://example.com

# 多个请求头 curl -H "Accept: application/json" \ -H "Authorization: Bearer token123" \ https://api.example.com

认证

# 基本认证
curl -u username:password https://api.example.com

# Bearer token curl -H "Authorization: Bearer YOUR_TOKEN" \ https://api.example.com

# API key 在请求头中 curl -H "X-API-Key: your_api_key" \ https://api.example.com

# API key 在 URL 中 curl "https://api.example.com?api_key=your_key"

高级功能

超时与重试

# 连接超时(秒)
curl --connect-timeout 10 https://example.com

# 整个操作最大时间 curl --max-time 30 https://example.com

# 失败时重试 curl --retry 3 https://example.com

# 重试延迟 curl --retry 3 --retry-delay 5 https://example.com

Cookie

# 发送 Cookie
curl -b "session=abc123" https://example.com

# 保存 Cookie 到文件 curl -c cookies.txt https://example.com

# 从文件加载 Cookie curl -b cookies.txt https://example.com

# 同时保存和加载 curl -b cookies.txt -c cookies.txt https://example.com

代理

# 使用 HTTP 代理
curl -x http://proxy.example.com:8080 https://api.example.com

# 带代理认证 curl -x http://proxy:8080 -U user:pass https://api.example.com

# SOCKS 代理 curl --socks5 127.0.0.1:1080 https://api.example.com

SSL/TLS

# 忽略 SSL 证书错误(生产环境不推荐)
curl -k https://self-signed.example.com

# 使用特定 SSL 版本 curl --tlsv1.2 https://example.com

# 使用客户端证书 curl --cert client.crt --key client.key https://example.com

# 显示 SSL 握手详情 curl -v https://example.com 2>&1 | grep -i ssl

响应处理

输出格式化

# 静默模式(无进度条)
curl -s https://api.example.com

# 仅显示 HTTP 状态码 curl -s -o /dev/null -w "%{http_code}" https://example.com

# 自定义输出格式 curl -w "\nTime: %{time_total}s\nStatus: %{http_code}\n" \ https://example.com

# 格式化 JSON(用 jq) curl -s https://api.example.com | jq '.'

范围请求

# 下载特定字节范围
curl -r 0-1000 https://example.com/large-file.zip

# 断点续传 curl -C - -O https://example.com/large-file.zip

文件操作

下载文件

# 下载文件
curl -O https://example.com/file.zip

# 自定义名称下载 curl -o myfile.zip https://example.com/file.zip

# 下载多个文件 curl -O https://example.com/file1.zip \ -O https://example.com/file2.zip

# 断点续传下载 curl -C - -O https://example.com/large-file.zip

上传文件

# FTP 上传
curl -T file.txt ftp://ftp.example.com/upload/

# HTTP PUT 上传 curl -T file.txt https://example.com/upload

# 表单文件上传 curl -F "file=@document.pdf" https://example.com/upload

测试与调试

API 测试

# 测试 REST API
curl -X GET https://api.example.com/users
curl -X GET https://api.example.com/users/1
curl -X POST https://api.example.com/users -d @user.json
curl -X PUT https://api.example.com/users/1 -d @updated.json
curl -X DELETE https://api.example.com/users/1

# 详细输出测试 curl -v -X POST https://api.example.com/login \ -H "Content-Type: application/json" \ -d '{"username":"test","password":"pass"}'

性能测试

# 测量请求时间
curl -w "Total time: %{time_total}s\n" https://example.com

# 详细时间 curl -w "\nDNS: %{time_namelookup}s\nConnect: %{time_connect}s\nTLS: %{time_appconnect}s\nTransfer: %{time_starttransfer}s\nTotal: %{time_total}s\n" \ -o /dev/null -s https://example.com

常见调试

# 显示请求和响应头
curl -v https://api.example.com

# 跟踪请求 curl --trace-ascii trace.txt https://api.example.com

# 输出中包含响应头 curl -i https://api.example.com

常用模式

快速 JSON API 测试:

curl -s https://api.github.com/users/octocat | jq '{name, bio, followers}'

带进度条下载:

curl -# -O https://example.com/large-file.zip

POST JSON 并提取字段:

curl -s -X POST https://api.example.com/login \
  -H "Content-Type: application/json" \
  -d '{"user":"test","pass":"secret"}' | jq -r '.token'

检查 URL 是否可访问:

if curl -s --head --fail https://example.com > /dev/null; then
  echo "Site is up"
else
  echo "Site is down"
fi

并行下载:

for i in {1..10}; do
  curl -O https://example.com/file$i.jpg &
done
wait

常用参数

  • -X: HTTP 方法(GET、POST、PUT、DELETE 等)
  • -d: 发送的数据(POST/PUT)
  • -H: 自定义请求头
  • -o: 输出文件
  • -O: 使用远程文件名保存
  • -L: 跟随重定向
  • -i: 输出中包含头部
  • -I: 仅头部
  • -v: 详细输出
  • -s: 静默模式
  • -S: 静默模式下仍显示错误
  • -f: HTTP 错误时静默失败
  • -k: 不安全(忽略 SSL)
  • -u: 基本认证
  • -F: 多部分表单数据
  • -b: 发送 Cookie
  • -c: 保存 Cookie
  • -w: 自定义输出格式

技巧

  • 脚本中使用 -s 抑制进度条
  • 组合 -sS 实现静默但显示错误
  • 使用 -L 处理重定向(如短链接)
  • 添加 -v 用于调试
  • 使用 jq 处理 JSON 响应
  • 将常用请求保存为 shell 别名或脚本
  • 复杂可复用请求使用 --config

文档

官方文档:https://curl.se/docs/ 手册:man curl HTTP 方法:https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods

数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务