标签:iam 更改 来源 就是 dev 语句 字节流 tle 表示
curl 是一种命令行工具,顾名思义就是 client 的 URL 工具。
该工具功能十分强大,命令行参数多达几十种,完全可以媲美 postman 这一类图形界面工具。
文档:https://catonmat.net/cookbooks/curl
参考:
http://www.ruanyifeng.com/blog/2011/09/curl.html
https://www.ruanyifeng.com/blog/2019/09/curl-reference.html
curl https://catonmat.net
curl -o output.txt https://catonmat.net
curl -X POST https://catonmat.net
curl -d ‘login=Queen&password=123‘ -X POST https://google.com/login
当使用 -d
参数传入表单数据时,会自动将 Content-Type
设置为 application/x-www-form-urlencoded
,同时当使用 -d
参数时,-X POST
可以省略。
-d
参数也可以分开写:curl -d ‘login=Queen‘ -d ‘password‘ https://google.com/login
curl -L -d ‘tweet=hi‘ https://api.twitter.com/tweet
curl
默认不支持重定向,加入 -L
参数明确要求可以任意重定向。
curl -d ‘{"login":"Queen","password":"123"}‘ -H ‘Content-Type: application/json‘ https://google.com/login
使用 -d
参数传入 JSON 数据,同时必须使用 -H
参数显式指明 Content-Type
为 application/json
curl -d ‘<user><login>ann</login><password>123</password></user>‘ -H ‘Content-Type: application/xml‘ https://google.com/login
使用 -d
参数传入 xml 数据,同时必须使用 -H
参数显式指明 Content-Type
为 application/xml
curl -d ‘hello world‘ -H ‘Content_Type: text/plain‘ https://google.com/login
使用 -d
参数传入纯文本数据,同时使用 -H
参数显示指明 Content-Type
为 text/plain
curl -d ‘@data.txt‘ https://google.com/login
使用 -d
参数传入数据,其中 @
符号后面指明数据来源于那个文件。
curl --data-urlencode ‘comment=hello 中国‘ https://google.com/login
使用 -d
时,默认认为 POST 数据已经进行了 URL 编码,但是如果数据并没有经过编码处理,那么就需要使用 --data-urlencode
将未被编码的数据进行 URL 编码之后,再发送
curl -F ‘newfile=@pig.png‘ https://google.com/profile
使用 -F
参数强制让 curl
发送一个多部分表单数据,会自动将 Content-Type
设置为 multipart/form-data
,该语句让 curl
读取 pig.png
中的数据并上传至 https://google.com/profile
,并将文件命名为 newfile
curl -F ‘newfile=@pig.png;type=iamge/png‘
使用 -F
参数上传了一个二进制文件,并设置该文件的 MIME 类型为 image/png
,若不设置,则默认为 application/octet-stream
MIME 类型 (Multipurpose Internet Mail Extensions,媒体类型) 是一种标准,用来表示文档、文件和字节流的性质和格式。
curl -F ‘newfile=@pig.png;filename=cat.png‘ https://google.com/login
和前两个类似,该语句通过 POST 请求发送一个二进制数据,并且更改文件名称,这样服务器看到的就不是原始名称 pig.png
,而是新名称 cat.png
,并且保存为 newfile
标签:iam 更改 来源 就是 dev 语句 字节流 tle 表示
原文地址:https://www.cnblogs.com/leafs99/p/curl_get_post.html