大家好,我是飞武兄
这是第三个视频,复盘用于代替postman等GUI工具进行接口测试的一款强大命令行工具——curl
由于,我们日常工作都是在终端上的,curl可以让我们直接在终端上作为http客户端向web服务器发送请求
curl可以在终端直接输入命令,也可以作为脚本,传输数据。
curl跨平台支持Linux,macOS和window
curl的学习资源可以参考以下三个链接
curl 的用法指南curl初学者指南
首先,curl作为http客户端向服务端发送http请求,常见的http请求参考菜鸟教程
https://www.runoob.com/tags/html-httpmethods.html
(此处点开菜鸟教程)
如图所示,
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据。
要记住GET和POST的区别,这是经典面试题。
还有其他一些HTT P方法,也需要掌握。
HEAD 与 GET 相同,但只返回 HTTP 报头,不返回文档主体。
PUT 上传指定的 URI 表示。
DELETE 删除指定资源。
OPTIONS 返回服务器支持的 HTTP 方法。
CONNECT 把请求连接转换到透明的 TCP/IP 通道。
————————————————————————————————————
(此时点开初学者指南)
curl + URl,就能测试能否与目标进行连接,并且返回对方响应的资源
curl 某API,返回的就是这个API里post的数据了,直接在终端返回,和其他工具的区别只是不在浏览器显示
这就相当于发送GET请求,curl默认也是发生GET请求
curl的命令具体参数打开《curl用法指南》
一些经典的操作
curl -X(指定请求方法) UR L -d 数据(POST请求是要携带数据的,数据要用引号括起来)
curl -X PUT -d .数据(PUT更新数据)
curl -X DELETE-d .数据(DELETE删除数据)
http响应头具体信息看菜鸟教程:https://www.runoob.com/http/http-header-fields.html,(讲一遍)
通常需要增加多个首部
获取响应的所有首部,首部需要经常打交道。
- O,下载到当前所处文件夹里面。
也可以-o下载并且自定义文件名。
下载大文件,限制下载速度。
curl默认不会跟随重定向,访问很多网址不会随之跳转。可以用-L参数
如果在调试的时候发现一直有问题,想查看有哪些问题时可以使用 -v,
可以通过代理来访问目标地址,
————————————————————————————————
接下来对照初学者指南和菜鸟教程,输出cookie,reference,User-Agent等内容。