当前位置: 首页 > news >正文

curl开发常用方法总结

curl开发常用方法总结

        • 1、cURL 是什么?
        • 2、cURL常用参数及说明
        • 3、cURL常见用法示例
        • 4、cURL POST 请求示例

在开发中,后端与前端联调、后端与API联调,需要说明接口是否可用,千言万语,最好的方式就是丢给对方一个curl执行命令。

1、cURL 是什么?

cURL 是一个在命令行下使用的工具,用来:

  • 访问网站
  • 测试接口
  • 下载文件
  • 上传数据
2、cURL常用参数及说明
-X, --request: 指定请求方法,如GET、POST、PUT、DELETE等。-H, --header: 设置请求头,可以多次使用此参数来设置多个头信息。-d, --data: 设置请求体数据,通常用于POST或PUT请求。默认情况下,使用此参数会使得请求方法为POST。-F, --form: 用于模拟表单提交,可以上传文件等。-G, --get: 将-d参数指定的数据作为URL的查询参数,强制使用GET请求。-i, --include: 在输出中包含响应头。-I, --head: 只获取响应头信息(HEAD请求)。-k, --insecure: 允许不验证SSL证书。-L, --location: 如果服务器返回重定向,自动跟随重定向。-o, --output: 将响应输出到文件,而不是标准输出。-O, --remote-name: 将输出保存为远程文件的文件名。-s, --silent: 静默模式,不显示进度和错误信息。-u, --user: 设置用户名和密码,用于服务器认证。-v, --verbose: 显示更详细的信息,包括请求和响应的头信息等。-A, --user-agent: 设置User-Agent头。-b, --cookie: 设置Cookie。-c, --cookie-jar: 将服务器返回的Cookie保存到文件。--connect-timeout: 设置连接超时时间。--max-time: 设置整个请求的最大时间。
3、cURL常见用法示例
基本用法:获取网页内容
最简单的使用CURL的方式是直接输入URL,它会将获取的内容输出到标准输出。
示例:curl https://www.example.com保存输出到文件
使用-o选项可以将输出保存到指定的文件。
示例:curl -o example.html https://www.example.com
这会将https://www.example.com的内容保存到example.html文件中。跟随重定向
如果遇到重定向,可以使用-L选项让CURL跟随重定向。
示例:curl -L https://www.example.com发送GET请求(默认)
CURL默认发送GET请求,但也可以显式指定-X GET。
示例:curl -X GET https://api.example.com/data发送POST请求
使用-X POST可以发送POST请求,通常与-d选项一起使用来发送数据。
示例:curl -X POST -d "name=John&age=30" https://api.example.com/users
也可以发送JSON数据:
curl -X POST -H "Content-Type: application/json" -d '{"name":"John","age":30}' https://api.example.com/users设置请求头
使用-H选项可以设置请求头。
示例:curl -H "Authorization: Bearer token123" https://api.example.com/protected使用代理
使用-x选项可以指定代理服务器。
示例:curl -x http://proxy-server:port https://www.example.com下载文件
使用-O选项可以下载文件并保留远程文件的文件名。
示例:curl -O https://www.example.com/file.zip同时指定多个选项
可以组合多个选项,比如同时使用-H设置多个头,使用-d发送数据,使用-X指定方法等。
示例:curl -X PUT -H "Content-Type: application/json" -H "Authorization: Bearer token" -d '{"key":"value"}' https://api.example.com/resource调试模式
使用-v选项可以启用详细模式,显示整个请求和响应的过程,便于调试。
示例:curl -v https://www.example.com限制带宽
使用--limit-rate选项可以限制CURL使用的带宽。
示例:curl --limit-rate 100k -O https://www.example.com/largefile.zip忽略SSL证书验证
使用-k选项可以忽略SSL证书验证(不推荐在生产环境使用,仅用于测试)。
示例:curl -k https://www.example.com使用cookie
使用-b选项可以发送cookie,使用-c选项可以保存服务器返回的cookie。
示例:发送cookie:curl -b "name=value" https://www.example.com
保存cookie:curl -c cookies.txt https://www.example.com使用用户认证
使用-u选项可以进行基本的HTTP认证。
示例:curl -u username:password https://www.example.com上传文件
使用-T选项可以上传文件。
示例:curl -T localfile.txt ftp://ftp.example.com/upload/
4、cURL POST 请求示例

完整命令示例

curl -X POST https://api.example.com/users \-H "Content-Type: application/json" \-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9" \-d '{"name": "张三","email": "zhangsan@example.com","age": 28,"department": "技术部"}'

更简洁的写法

curl -X POST https://api.example.com/users -H "Content-Type: application/json" -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9" -d '{"name": "张三","email": "zhangsan@example.com","age": 28,"department": "技术部"}'

命令分解说明

部分说明示例
请求方法-X POST 指定POST请求-X POST
请求URL接口地址https://api.example.com/users
内容类型-H "Content-Type: application/json" 声明发送JSON数据-H "Content-Type: application/json"
认证头-H "Authorization: ..." 携带访问令牌-H "Authorization: Bearer ..."
请求体-d '...' 包含实际的JSON数据-d '{"name":"张三",...}'
http://www.dtcms.com/a/548776.html

相关文章:

  • rust实战:基础框架Rust + Tauri Windows 桌面应用开发文档
  • knife4j在配置文件(xml文件)的配置错误
  • Java的多线程——多线程(二)
  • 小企业也能用AI?低成本智能转型实战案例
  • ros2 播放 ros1 bag
  • 网页设计做一个网站设计之家官方网站
  • 基于STM32单片机 + DeepSeek-OCR 的智能文档扫描助手设计与实现
  • 微信小程序如何传递参数
  • 【数据结构】:数组及特殊矩阵
  • 记录一下微信小程序里使用SSE
  • API 接口安全:用 JWT + Refresh Token 解决 Token 过期与身份伪造问题
  • 云手机搬砖 高效采集资源
  • GitHub Actions CI/CD 自动化部署完全指南
  • Fastlane 结合 开心上架 命令行版本实现跨平台上传发布 iOS App
  • 广东营销网站建设服务公司军事信息化建设网站
  • Go Web 编程快速入门 14 - 性能优化与最佳实践:Go应用性能分析、内存管理、并发编程最佳实践
  • LeetCode每日一题——合并两个有序链表
  • 丽江市建设局官方网站门户网站开发需要多少钱
  • 边缘计算中评估多模态分类任务的延迟
  • 11.9.16.Filter(过滤器)
  • 光储充微电网能量管理系统:构建绿色、高效、安全的能源未来
  • MR30分布式IO在自动上料机的应用
  • 有些网站为什么可以做资讯建站工具交流
  • .NET周刊【10月第2期 2025-10-12】
  • 自动化文献引用和交叉引用高亮显示:Word VBA宏解决方案
  • 大数据离线处理:使用 Airflow 调度 Hive 脚本的工作流设计
  • 深入理解二叉搜索树:从原理到实现
  • Rust 泛型参数的实践与思考
  • AppML 案例:Employees 应用解析
  • 【Qt开发】布局管理器(一)-> QVBoxLayout垂直布局