1、curl是什么?
curl 是常用的命令行工具,用来请求 WEB 服务器。
它的名字就是客户端的 URL 工具(client url)。
2、常用相关命令
①
$ curl https://baidu.com
上边命令代表向 www.baidu.com 发出 get 请求,服务器返回的内容会在命令行输出。
②
$ curl -d 'login=emma&password=123'-X POST https://baidu.com/login
$ curl -d 'login=emma' -d 'password=123' -X POST https://baidu.com/login
$ curl --data-urlencode 'comment=hello world' https://baidu.com/login
(i) 使用 -d 参数以后,HTTP 请求会自动加上请求头 Content-Type : application/x-www-form-urlencoded。并且会自动将请求转为 POST 方法,因此可以省略 -X POST 。
(ii) -X
参数指定 HTTP 请求的方法。此处要区分大小写,这里用的是大写,小写是指定 HTTP 请求的代理。
(iii) --data-urlencode
参数等同于 -d
,发送 POST 请求的数据体,区别在于会自动将发送的数据进行 URL 编码。发送的数据 hello world
之间有一个空格,需要进行 URL 编码。
③
$ curl -G -d 'q=kitties' -d 'count=20' https://baidu.com/search
(i) -G
参数用来构造 URL 的查询字符串。
(ii) 上面命令会发出一个 GET 请求,实际请求的 URL 为 https://google.com/search?q=kitties&count=20
。如果省略 --G
,会发出一个 POST 请求。
(iii) 如果数据需要 URL 编码,可以结合 --data--urlencode
参数。