一、curl简介
curl 是常用的命令行http请求工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。
它的功能非常强大,命令行参数多达几十种。
熟练运用后,完全可以取代 Postman这一类图形界面的http工具
二、curl的使用介绍
- -X(请求方法)
-X参数指定 HTTP 请求的方法。
** $ curl -X POST https://www.example.com**
上面命令对https://www.example.com发出 POST 请求。
** 2.-H (-H参数添加 HTTP 请求头参数,可以设置多个-H参数)**
$ curl -H 'Accept-Language:en-US' -H 'cookie:xxx=xxx,x=x,maxage=111' https://google.com
** 3.-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。
-d参数可以读取本地文本文件的数据,向服务器发送。
$ curl -d '@data.txt' https://google.com/login
上面命令读取data.txt文件的内容,作为数据体向服务器发送。
** 4. -u参数用来设置服务器认证的用户名和密码。**
$ curl -u 'bob:12345' https://google.com/login
上面命令设置用户名为bob,密码为12345,然后将其转为 HTTP 标头Authorization: Basic Ym9iOjEyMzQ1。
5. -o参数将服务器的回应保存成文件,等同于wget命令。
$ curl -o example.html https://www.example.com
上面命令将www.example.com保存成example.html。
6.-k参数指定跳过 SSL 检测。
$ curl -k https://www.example.com
上面命令不会检查服务器的 SSL 证书是否正确。在发送https请求时,加上-k参数,否则会有如下证书的报错:
7.-i参数打印出服务器回应的 HTTP 标头。
$ curl -i https://www.example.com
上面命令收到服务器回应后,先输出服务器回应的标头,然后空一行,再输出网页的源码。
8.-I或者 --head (只打印响应头)
$ curl --head https://www.example.com