前后端程序员技能-CURL命令

前言

CURL命令---接口测试之必要技能

如果你经常需要和各种API打交道,我们都知道测试接口是一件非常枯燥的事情,我们需要频繁的打开浏览器,输入URL,以此来检测API的功能完整性,或者下载各种测试工具。

有什么方法可以即高效又快速的测试API呢


今天所接触的是一个可以帮助我们进行接口测试的工具--CURL命令

一、Curl命令是什么

Curl其实是一种用URL语法,它是一种传输数据工具,是通过命令来进行工作的。让我们可以不需要浏览器也可以发送命令,也可以传输数据等等给你功能。它支持跨平台的操做,可以在Windows,LInux,Unix等主流操作系统上进行操做。

二、基本语法

curl url

例如我们curl百度试一试
前后端程序员技能-CURL命令_第1张图片
我们发现这样是可以访问到百度,并获取到百度的首页信息的。哈哈,这样我们就初步了解了Crul命令的使用。但是光是这些还远远不够,crul的功能还很多,接下来就请听我慢慢道来。

2.1 Curl参数

Curl的核心功能,就是依靠着强大且丰富的参数库,具体常用的参数在网上可以搜到许多,这里我只介绍我常用的和后端程序猿必备的测试接口所需要的参数。

说明:本人知识阅历有限,所以这里会介绍不全,如有大佬需要补充,欢迎评论

2.1.1 Curl如何发送指定请求方式的请求

curl命令默认发送的是get请求,也就和直接在浏览器的地址栏输入URL的效果是一样的,也就是说我们在通过curl http://www.baidu.com的时候默认是get请求。

❓那么我们该如何发送POST或者PUT等其他请求方式的请求呢?

【发送get请求语法】

curl -X GET url
curl -XGET url 
  • -X/--request 指定什么命令

【案例分析】
例如我们有一个API接口是/student/queryAll 主机为本机 端口为8080 请求方式为Get,那么我们通过如下方式即可访问此API
前后端程序员技能-CURL命令_第2张图片

【发送post请求语法】

curl -X POST url -d {参数列表}
  • -d/--data HTTP POST方式传送数据
  • 参数列表这里使用的json格式的数据传输,注意使用JSON格式的传递参数需要指定头信息Content-Type ,使用参数 -- header或者-H

【案例分析】
在这里插入图片描述
但是这样的访问是无法解析中文的
在这里插入图片描述
这里传入中文的参数,在输出的时候会以GBK的形式进行编译,所以无法访问,如果需要解决,可以将编码格式转化成UTF-8。

传入JSON格式的参数

curl -H "Content-Type:application/json" -X POST --data '{\"user\": \"admin\",\"passwd\":\"12345678\"}' http://localhost:8080/login

注意:使用CURL命令的时候默认是不识别双引号,遇到单双引号嵌套的时候,需要使用\反斜杠进行转义

2.1.2 Curl如何指定标头Reference

方式一:-H / --header

-H 或者–header也可以通过指定标头名为Reference设置值为指定的值

curl -H 'Referer: https://google.com?q=example' https://www.example.com
curl --header 'Referer: https://google.com?q=example' https://www.example.com

确切的说-H是添加标头

方式二: -e

-e 参数用来设置 HTTP 的标头Referer,表示请求的来源。

curl -e 'https://google.com?q=example' https://www.example.com

2.1.3 Curl如何打印标头信息

-i

-i 会先打印标头信息,然后空一行,在地下打印网页的源码
【示例】

curl -i https://example.com

前后端程序员技能-CURL命令_第3张图片

一般多用于爬取网页相关的数据信息,分析网页源码等使用。

-I

-I 只是用于打印网页的标头信息
前后端程序员技能-CURL命令_第4张图片

你可能感兴趣的:(Curl命令,测试工具)