Curl-for-Windows简介
一、简介
Curl是一个用于通过Url传输数据的命令行工具,支持多种协议;可以用来调试网络请求。
二、安装
下载并解压,解压后将bin目录添加到环境变量中。
三、用法
语法:
curl [options / URLs]
1、获得帮助
curl --help
2、URL
- 指定多个URL
在大括号中指定多个URL:
http://site.{one,two,three}.com
在中括号中使用序列:
ftp://ftp.example.com/file[1-100].txt
ftp://ftp.example.com/file[a-z].txt
指定步长计数器:
http://example.com/file[1-100:10].txt
http://example.com/file[a-z:2].txt
- 指定用户名和密码
有两种方式:
curl ftp://name:passwd@machine.domain:port/full/path/to/file
或
curl -u name:passwd ftp://machine.domain:port/full/path/to/file
也支持HTTP请求,方式相同。
3、输出
默认curl将接收到的数据写入到stdout,可以通过-o
、-O
命令保存到本地文件。
获取一个网页并存储在本地指定名称的文件中:
curl -o thatpage.html http://www.example.com/
获取一个网页并存储在本地,使用远程文件的名称,如果URL中没有指定文件名,则失败,例如:http://www.example.com/。
curl -O http://www.example.com/index.html
4、HTTP
使用-X
参数自定义HTTP请求方法:
- GET
curl http://www.example.com/
等价于
curl -X GET http://www.example.com/
- POST
使用-d
参数指定请求参数:
curl -d "key=value&foo=bar" -X POST http://www.example.com/
如果发送JSON格式参数,需指定Content-Type
:
curl -d '{"key": "value", "foo": "bar"}' -H "Content-Type: application/json" -X POST http://www.example.com/
windows中需要使用双引号:
curl -d "{\"key\": \"value\", \"foo\": \"bar\"}" -H "Content-Type: application/json" -X POST http://www.example.com/
URL中有参数时也需要加引号:"http://www.example.com/app?type=1&key=value"
也可以发送一个JSON文件:
curl -d "data.json" -X POST http://www.example.com/
- PUT
与POST方式类似。
- 将浏览器请求复制为curl
可以在Chrome开发工具的Network中,右键请求,将请求复制为curl:
5、超时与限速
可以使用-m
(max-time)设置超时时间(秒);使用-Y
(speed-limit)和-y
(speed-time)分别设置传输速度(每秒字节数)与时间(秒):
如果下载速度以低于每秒3000字节运行1分钟,则中止下载;且必须在30分钟内完成:
curl -m 1800 -Y 3000 -y 60 www.far-away-site.com
6、上传
从指定的文件(uploadfile)中上传数据(myfile),使用用户名和密码登录:
curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile
7、代理
使用名为my-proxy的HTTP代理获取一个ftp文件,该代理使用888端口:
curl -u user:passwd -x my-proxy:888 http://www.get.this/