ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

linux用curl调用接口案例

2026/8/11 13:23:52 拓冰建站 浏览量
linux用curl调用接口案例 1.get请求curlhttp://127.0.0.1:9088/api/data 携带tokencurl-HAuthorization:eyJhbGciOiJIUhttp://127.0.0.1:9088/api/getTrend# 带查询参数的 GET 请求curlhttp://127.0.0.1:9088/api/search?qkeywordpage12.保存响应到文件curl-oresponse.json http://127.0.0.1:9088/api/data 说明-o 指定文件名适合下载 JSON 或文件。若需保留原始文件名可使用 -O。3.查看详细通信过程curl-vhttp://127.0.0.1:9088/api/data 说明-v 会显示请求头、响应头、SSL 握手等详细信息便于排查网络或协议问题。4.发送表单数据(application/x-www-form-urlencoded)curl-XPOST-dusernameadminpassword123456http://127.0.0.1:9088/api/data5.发送 JSON 数据(application/json)curl-XPOST-HContent-Type: application/json-d{name: John, age: 30}http://127.0.0.1:9088/api/data# 从文件读取 JSON 数据发送curl-XPOST-HContent-Type: application/json-drequest.json http://127.0.0.1:9088/api/users6.上传文件(multipart/form-data)curl-XPOST-Ffile/path/to/local/file.txt-FdescriptionTest Uploadhttp://127.0.0.1:9088/api/upload# 上传文件并附带其他表单字段curl-Ffile/var/log/app/error.log-Fenvproduction-HAuthorization: Bearer YOUR_TOKENhttp://127.0.0.1:9088/api/upload# 上传多个文件curl-Ffile1image.png-Ffile2document.pdfhttp://127.0.0.1:9088/api/batch7.PUT 更新资源curl-XPUT-HContent-Type: application/json-d{status: active}http://127.0.0.1:9088/api/users/101# 部分更新PATCHcurl-XPATCH-HContent-Type: application/json-d{age:31}http://127.0.0.1:9088/api/users/1238.DELETE 删除资源curl-XDELETE http://127.0.0.1:9088/api/users/101 带认证的删除curl-XDELETE-HAuthorization: Bearer YOUR_TOKENhttp://127.0.0.1:9088/api/users/1239.‌Basic 认证‌curl-uusername:password http://127.0.0.1:9088/api/protected 说明-u 会自动将用户名密码进行 Base64 编码并添加到 Authorization 头中。10.Bearer Token 认证(OAuth2.0/JWT)curl-HAuthorization: Bearer eyJhbGciOiJIUzI1NiIsInR5...http://127.0.0.1:9088/api/secure-data11.跳过 SSL 证书验证curl-khttp://127.0.0.1:9088/api 说明-k(或 --insecure)忽略证书错误生产环境严禁使用应使用--cacert指定可信 CA 证书。12.设置超时时间curl--connect-timeout5--max-time10http://127.0.0.1:9088/api/slow 说明--connect-timeout 控制连接建立超时--max-time 控制整个请求过程超时防止脚本卡死。 ‌13.自定义 User-Agent‌curl-AMozilla/5.0 (Windows NT 10.0; Win64; x64)http://127.0.0.1:9088/api 说明某些接口会拦截非浏览器请求模拟 UA 可绕过简单限制。14.并发压力测试seq1100|xargs-n1-P10curl-s-o/dev/null-w%{time_total}\nhttp://127.0.0.1:9088/test 说明利用xargs并行发起10个请求共100次输出每次请求的耗时用于简易性能评估。15.常用参数-X--request指定 HTTP 方法(GET, POST, PUT, DELETE)-H--header添加请求头(如 Content-Type, Authorization)-d--data发送请求体数据(POST/PUT)-o--output将响应保存到指定文件-v--verbose显示详细通信日志-s--silent静默模式不显示进度条和错误信息-L--location跟随重定向-k--insecure忽略 SSL 证书验证-u--user提供基本认证的用户名和密码-F--form模拟表单提交支持文件上传16.文件下载接口# 下载文件并保留原文件名curl-Ohttp://127.0.0.1:9088/api/data.tar.gz# 下载文件并指定保存文件名curl-obackup.zip http://127.0.0.1:9088/api/data.zip# 断点续传curl-C--Ohttp://127.0.0.1:9088/api/largefile.iso# 限速下载限制为 1M/scurl-Ohttp://127.0.0.1:9088/api/data.tar.gz --limit-rate 1M17.Cookie 处理接口# 直接发送 Cookie 字符串curl-bsessionidabc123;userjohnhttp://127.0.0.1:9088/api/userinfo18.健康检查 / 监控接口# 获取 HTTP 状态码输出 200 表示正常curl-s-o/dev/null-w%{http_code}https://your-service.com/health# 获取状态码 响应时间curl-o/dev/null-s-w%{http_code} %{time_total}\nhttp://127.0.0.1:9088/api# 批量监控多个服务#!/bin/bashURLS(https://example.comhttp://127.0.0.1:9088/api/health)forurlin${URLS[]};dostatus$(curl-s-o/dev/null-w%{http_code}$url)[$status-ne200]echo服务中断:$url(状态码:$status)done