Curl / HTTP

Curl 常用请求命令,GET/POST/认证/上传/调试,一键复制

共 39 个脚本

安全get基础

GET 请求(基础)

最基础的 GET 请求。-s 静默进度条,curl 默认方法就是 GET。

安全getquery

GET 请求带查询参数

通过 URL 拼接查询参数。含特殊字符的参数值需用 --data-urlencode 配 -G 编码后再发送。

安全postjson

POST JSON 数据

向 API 发送 JSON 格式的 POST 请求。-H 设置 Content-Type,-d 发送请求体。

安全postjson

POST 发送 JSON 文件

把 JSON 请求体放在文件里发送。@data.json 表示从文件读取内容作为请求体。

安全postform

POST 表单数据

发送 application/x-www-form-urlencoded 表单。-d 自动设置 Content-Type。

安全put更新

PUT 更新资源

用 PUT 更新资源,通常需要带完整的数据体。-X 指定方法。

安全patch更新

PATCH 部分更新

用 PATCH 只更新资源的部分字段,与 PUT 区别在于只发送变更字段。

注意delete删除

DELETE 删除资源

删除服务器上的指定资源。此操作不可逆,请确认 URL 正确。

安全redirect重定向

跟随重定向

-L 让 curl 自动跟随 3xx 重定向。-L 后接数字限制最大跳转次数。

安全header自定义

自定义请求头

用 -H 添加任意请求头。可多次使用 -H 添加多个头。

安全headeruser-agent

设置 User-Agent

-A 直接设置 User-Agent,常用于伪装浏览器或绕过简单的 UA 校验。-A "" 可清空默认 UA。

安全headeraccept

设置 Accept 内容协商

通过 Accept 头告诉服务器期望返回的内容类型。

安全headercookie

发送 Cookie

-b 发送 Cookie。可直接写字符串,也可指定 cookie 文件。

安全headercookie

保存与复用 Cookie

-c 把响应中的 Set-Cookie 保存到文件,-b 读取。组合使用可跨请求维持会话(如登录后访问)。

安全headerreferer

设置 Referer 与 Origin

模拟从特定页面发起的请求,绕过简单的防盗链或 CORS 服务端校验。

安全authbearer

Bearer Token 认证

使用 JWT / OAuth Bearer Token 认证。在 Authorization 头里加 Bearer <token>。

安全authbasic

HTTP Basic 认证

使用用户名密码进行 HTTP Basic 认证。-u 自动生成 Authorization: Basic 头。

安全authapikey

API Key 认证

通过自定义头传递 API Key,常见于第三方服务(如 X-API-Key)。

安全authapikey

通过查询参数传递 API Key

部分服务把 API Key 放在 URL 查询参数中,如 OpenWeather、Mapbox 等。

安全authnetrc

从 .netrc 读取凭证

-n 让 curl 从 ~/.netrc 读取凭证,避免在命令行暴露密码。适合脚本自动化调用。

安全download下载

下载文件

-o 指定输出文件名,-O 用 URL 中的文件名保存。搭配 -L 跟随重定向。

安全download续传

断点续传

-C - 让 curl 自动检测已下载的字节数并从断点继续,下载大文件中断后可恢复。

安全upload上传

上传文件(multipart)

-F 以 multipart/form-data 上传文件。@file 表示从文件读取,可同时上传多个字段。

安全uploadput

PUT 上传整个文件

用 -T 把整个文件作为 PUT 请求体上传,常用于对象存储(如 S3)。

安全downloadretry

带重试的下载

--retry 设置失败重试次数,--retry-delay 设置重试间隔,适合不稳定网络。

安全debugverbose

详细输出(含请求头)

-v 显示完整的请求/响应过程,包括请求头、响应头、SSL 握手等。最常用的调试参数。

安全debugheader

只看响应头

-I 只获取响应头(HEAD 请求),-D 把响应头写入文件。快速检查资源是否存在、类型、大小。

安全debugtiming

测量请求耗时

用 -w 输出自定义格式,精确测量 DNS、连接、TLS、首字节、总耗时等各阶段时间。

安全debugstatus

只看 HTTP 状态码

用 -w 配合 %{http_code} 只输出状态码,方便脚本判断。

安全debugtrace

分离请求头与响应头

-v 输出混在一起,用 --trace-ascii 可更精细地看到每个字节,便于排查编码/分块等问题。

安全debuginclude

同时显示响应头和正文

-i 在输出中包含响应头,紧跟着响应正文。比 -v 更简洁,适合快速查看返回的头。

安全proxy代理

使用代理

-x 设置 HTTP/HTTPS/SOCKS 代理。-U 指定代理认证。可用于访问受限资源或隐藏来源 IP。

安全dnsresolve

自定义 DNS 解析

--resolve 强制把指定域名解析到指定 IP,无需改 /etc/hosts。常用于测试负载均衡、灰度发布、本地证书。

安全concurrent并发

并发请求(配合 xargs)

用 xargs -P 启动多个并发 curl 进程,做简单的压测或批量抓取。-I {} 指定占位符。

安全multipart上传

multipart 同时上传文件与 JSON

在 multipart 表单中用 type= 指定字段类型,可同时上传文件和结构化 JSON 字段。

安全timeout超时

设置超时

--max-time 限制总耗时,--connect-timeout 限制连接阶段超时。防止请求卡死脚本。

注意tlsinsecure

跳过证书校验(自签名证书)

-k / --insecure 跳过 TLS 证书校验,用于访问自签名证书的服务(如内网、本地开发)。生产环境慎用。

安全jqjson

输出格式化 JSON(配合 jq)

把 curl 的响应通过管道传给 jq,做字段提取、过滤、美化输出。

安全config配置文件

从配置文件读取参数

-K / --config 从文件读取 curl 参数,避免命令行过长或重复输入常用头。