Curl命令详解

一般选项

-#, --progress-bar
显示进度条

-b, --cookie <name=data>
使用cookie。如果没有 =, 则表示cookie文件路径 (参考 -c)

-c, --cookie-jar <file name>
response的cookie保存路径

-d, --data <data>
POST请求数据

-f, --fail
忽略错误信息 (不显示返回的HTML错误信息)

-F, --form <name=content>
表单数据

-H, --header <header>
设置请求Header

-i, --include
输出请求Header信息

-I, --head
只显示Header信息

-k, --insecure
允许不安全链接

-L, --location
Follow redirects.

-o, --output <file>
输出信息保存到指定文件中。可与--create-dirs一起使用,自动创建文件路径

-O, --remote-name
输出信息写到文件中,文件名同服务器端的文件名 (只能写入到当前目录)

-s, --silent
静默模式。与-S一起用,强制输出errors信息

-v, --verbose
显示更多信息(用于调试).

-w, --write-out <format>
请求结果后追加内容。例如,-w "\n"可以在输出结果后追加一个换行符。可以把 -w "\n" 添加到~/.curlrc文件中,这样每次执行结果后都自动追加换行符(默认curl返回内容最后缺少换行符,显示不友好)

-X, --request
请求方法类型,POST、GET、PUT等

POST

使用 POST 或 PUT 请求时, 可用 Content-Type指定两种数据格式:

  • application/json
  • application/x-www-form-urlencoded

curl默认为表单格式。如果使用json格式,需要手动设置header。

curl 使用说明

对于 POST 和 PUT 请求, 以下是通用参数:

  • 请求类型

    • -X POST
    • -X PUT
  • 文本格式

  • -H "Content-Type: application/x-www-form-urlencoded"

  • -H "Content-Type: application/json"

  • 数据内容

    • form urlencoded: -d "param1=value1&param2=value2"-d @data.txt
    • json: -d '{"key1":"value1", "key2":"value2"}'-d @data.json

示例

POST application/x-www-form-urlencoded

application/x-www-form-urlencoded 为默认值:

curl -d "param1=value1&param2=value2" -X POST http://localhost:3000/data

等效于:

curl -d "param1=value1&param2=value2" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://localhost:3000/data

也可以使用数据文件:

curl -d "@data.txt" -X POST http://localhost:3000/data

POST application/json

curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST http://localhost:3000/data

或使用数据文件:

curl -d "@data.json" -X POST http://localhost:3000/data
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文转载自curl 的用法指南-阮一峰 简介   curl 是常用的命令行工具,用来请求 Web 服务器。它的名字...
    殉道者之花火阅读 6,399评论 0 3
  • 一、安装: (大多数 Linux 发行版都预先安装了 curl 包,不需要自行安装) Ubuntu:sudo ap...
    哎呦666阅读 24,436评论 0 1
  • curl命令 网络应用 curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以...
    呵呵哒1991阅读 1,281评论 0 2
  • 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http...
    佛心看世界阅读 60,853评论 2 15
  • linux命令之curl curl命令详解 1、curl命令简介 curl命令是一个利用URL规则在命令行下工作的...
    道无虚阅读 1,671评论 0 0