简介
cURL是一款开源的基于URL的文件传输工具,支持HTTP、HTTPS、FTP等协议,支持POST、cookie、认证、扩展头部、限速等特性。
curl命令用途广泛,比如下载、发送http请求、指定http头部等。
wget是个专职的下载利器,简单,专一,极致;而curl可以下载,但是长项不在于下载,而在于模拟提交web数据,对请求报文进行设置,从而对网页进行调试。
wget支持递归下载,curl不支持。所以区分下来就是下载数据使用wget,网页调试使用curl。
常用功能
curl URL #下载文件到stdout curl URL -s/--silent #安静模式,不显示过程也不显示报错 curl URL --silent --progress #显示#号的进度条 curl URL --silent -O #下载数据写入文件,文件名和URL中文件名相同 curl URL --silent -o filename #手动指定文件名 curl URL -C offset #从指定偏移量位置继续下载,offset是字节为单位的整数 curl URL -C - #断点续传 curl URL --referer referer_URL #指定参照页字符串 curl URL --cookie "user=peter;pass=123456" #手动指定并存储cookie curl URL --cookie-jar cookie_file #从文件中指定cookie curl URL --user-agent "Mozilla/5.0" #指定用户代理 curl URL -H "Host: www.peter.com" -H "Accept-language: en" #设置多个http头部信息 curl URL --limit-rate 20k #限制下载速度 curl URL --max-filesize bytes #指定可下载的最大文件大小 curl URL -u user:pass #进行密码认证 curl URL -I #只打印响应头部信息 curl URL -k #--insecure 接受不安全的数字证书,例如自签名证书 curl URL -S #--show-error 显示报错,一般curl URL -sS 连用 curl URL -x #--proxy <[protocol://][user:password@]proxyhost[:port]> 使用代理服务器 curl URL -D #--dump-header <file> 将响应头部信息写入某个文件 一般存储cookie就是存储header curl URL -b #--cookie <name=data> 使用本地cookie,一般是"NAME1=VALUE1; NAME2=VALUE2"键值对格式,也可以 -b <file> 使用cookie文件 curl URL -d #--data <data> 使用POST方法提交数据 通常提交方式是键值对,例如curl URL -d 'user=name' -d 'password=passwd' ,这里注意curl #会将多个-d参数后面的内容组合成'name=daniel&skill=lousy'这种形式,所以我们自己也可以使用curl URL -d 'name=name&password=passwd' #形式提交数据; 第二种方法是读取文件数据进行提交例如 curl URL -d @filename curl URL -X #--request <command> 指定请求方法例如curl URL -X POST