转自:https://www.myfreax.com/curl-command-examples/
https://www.ruanyifeng.com/blog/2019/09/curl-reference.html
1.介绍
curl
是用于在本地计算机与远程服务器之间传输数据的命令行工具。使用curl时可以使用HTTP,HTTPS, SCP , SFTP和FTP等协议下载或上传数据。
Curl提供了许多选项,使得可以恢复上传/下载,限制带宽,代理支持,用户身份验证等。
curl
命令的语法格式是
curl [options] [URL...]
其中options
指定curl的选项。URL
表示远程服务器的地址。
在不使用任何选项的情况下,curl
将下载指定的URL资源并重定向到标准输出中。如果未指定使用的协议,curl将默认使用HTTP
协议。
PS:在URL中包含协议类型:https://www.cnblogs.com/GodSince/p/10915624.html
一个完整的URL包括:协议部分、域名部分、端口部分、虚拟目录部分、文件名部分、参数部分、锚部分
例如:
2.下载文件
默认情况下curl
将下载url的资源并重定向标准输出。如果要保存下载的文件,可以使用-o
或-O
选项。
- -o:指定保存文件的名称和绝对路径。
- -O:使用其原始文件名保存到文件,并将保存到当前目录下,即运行curl命令所在目录的位置。
curl -o /home/myfreax/work/vue.js https://cdn.jsdelivr.net/npm/vue/dist/vue.js #指定下载路径并且重命名 curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js
3.打印HTTP响应头
curl的-I
选项允许您仅获取指定URL资源的HTTP响应头,HTTP响应头是使用冒号分隔的键/值对,其中包含服务器类型,通常是Nginx/Apache,内容类型和HTTP状态码等信息。
4. 发送 POST 请求的数据体
-d
参数用于发送 POST 请求的数据体。
$ curl -d 'login=emma&password=123'-X POST https://google.com/login # 或者 $ curl -d 'login=emma' -d 'password=123' -X POST https://google.com/login
使用-d
参数以后,HTTP 请求会自动加上标头Content-Type : application/x-www-form-urlencoded
。
并且会自动将请求转为 POST 方法,因此可以省略-X POST
。
5.指定 HTTP 请求的方法
-X
参数指定 HTTP 请求的方法。
$ curl -X POST https://www.example.com
对https://www.example.com
发出 POST 请求。