curl,全称client url,是一个命令行工具,用于构建网络请求,获取并处理数据。

基本语法

查看响应

# 查看网页源代码
curl www.baidu.com
# 查看响应头和网页源代码
curl -i www.baidu.com
# 只查看响应头
curl -I www.baidu.comn
# 自动跳转,有的网站是自动跳转的
curl -L www.sina.com

查看通信过程

# 显示通信过程 -v
curl -v www.baidu.com
# 显示更详细的通信过程 输出在output.txt中
curl --trace output.txt  www.baidu.com   # 二进制格式
curl --trace-ascii output.txt www.baidu.com  #ascii编码格式

构建HTTP请求

http请求包括:

制定HTTP方法

# -X指定HTTP方法(动词),默认是GET
curl -X POST www.baidu.com
curl -X DELETE www.baidu.com

发送不同类型的数据

-H 参数添加HTTP请求标头 -d 参数用于发送POST请求的数据体

# -d发送请求体数据 默认的Content-Type为`application/x-www-form-urlencoded`
curl -X POST -d 'userPhoneNumber=15064761673'   example.com/user
# -d会自动将请求转化为POST,所以-X POST可以省略
curl -d 'userPhoneNumber=15064761673'   example.com/user
# 可以读取本地文本文件的数据,向服务器发送
curl -d '@data.txt' example.com/user