curl 命令
curl 命令
curl
命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称 curl
为下载工具。作为一款强力工具,curl
支持包括HTTP、HTTPS、ftp 等众多协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。
命令用法
注意 url
请求地址最好用 ""
括起来。
curl
是将下载文件输出到 stdout,将进度信息输出到 stderr,不显示进度信息使用 --silent
选项。
常用可选参数
参数 | 说明 |
-A, --user-agent STRING | 设置用户代理报头信息 |
-b, --cookie DATA | 设置 cookie 的数据 |
-c, --cookie-jar FILE | 操作结束后把 cookie 写入这个文件 |
-d, --data DATA/@FILE | HTTP POST 方式传送数据 |
--data-ascii DATA | 以 ascii 的方式 post 数据 |
--data-binary DATA | 以二进制的方式 post 数据 |
-D, --dump-header FILE | 将响应报头信息写到 |
-F, --form NAME=CONTENT | 提交 multipart MIME 数据,以 |
--form-string NAME=STRING | 提交 multipart MIME 数据,以 |
-e, --referer URL | 指定来源网址 |
-H, --header LINE/@FILE | 自定义报头信息 |
--ignore-content-length | 忽略 HTTP 头信息的长度 |
-Q, --quote COMMAND | 文件传输前,发送命令 |
-o, --output FILE | 把输出写到该文件 |
-O, --remote-name | 把输出写到文件中,并保留远程文件名 |
--limit-rate RATE | 限制下载速度为 |
-u, --user USER[:PASSWORD] | 设置服务器的用户和密码 |
-U, --proxy-user USER[:PASSWORD] | 设置代理用户名和密码 |
-x, --proxy HOST[:PORT] | 设置代理 |
-X, --request COMMAND | 指定使用什么命令 |
使用实例
下载文件:
下载单个文件,默认将输出打印到 stdout 中:
下载到指定文件中:
对
curl
的最大网络使用进行限制:从 FTP 服务器上下载所有文件:
保存于使用网站 cookie 信息
将 cookies 保存到 sugercookies 文件中
使用 sugercookies 保存的 cookies
传递请求数据
使用 GET 方法请求数据
使用 POST 方法请求数据
自动转义参数中的特殊字符
使用其他方法请求
设置 http 请求头:
设置 http 响应头
上传文件
同时上传多个文件到 FTP 服务器
从标准输入获取内容保存到 FTP 服务器指定的文件中
以表单数据的形式上传文件
其他设置
为
curl
设置代理显示一次 HTTP 请求的通信过程
跟随重定向的链接
Last updated