cURL是一个利用URL语法在命令行下工作的文件传输工具,配置后,可以在命令行直接执行各类操作,也可以作为源码包,载入到各类后端开发,为后端提供文件传输能力;

安装

  1. 下载
    演示电脑是win10 64位,下载对应的包:全部下载地址zip地址
  2. curl 安装国内docker镜像 curl安装命令_性能测试


  3. 配置环境变量
    这里下载下来的文件有的不是zip格式,找下下载个zip的包,解压后,内部文件如图:

配置环境变量

  • 新建CURL_PATH系统变量;
  • 编辑PATH,加上这两行(具体路径根据curl包实际路径填写):
%CURL_PATH%\I386
C:\Program Files (x86)\curl-7.78.0-win64-mingw\bin

curl 安装国内docker镜像 curl安装命令_curl 安装国内docker镜像_02


3. 执行

打开base、或者cmd命令行工具,执行curl -h,如图:

curl 安装国内docker镜像 curl安装命令_配置环境变量_03

前端常用实例

对于前端从业人员来说,curl对接口的巡检功能还是非常实用的,可以使用curl查看接口的运行状况;例如,我们需要查看某个接口的性能耗时,可以这么来做:

请求数据
  1. 打开chrome>devtool>network
    找到接口请求记录,右键单击copy as cURL命令。

    拷贝的代码长这样:
curl 'http://127.0.0.1:7001/auth/login' \
  -H 'Connection: keep-alive' \
  -H 'Pragma: no-cache' \
  -H 'Cache-Control: no-cache' \
  -H 'Accept: application/json, text/plain, */*' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InVpZCI6MX0sImlhdCI6MTYyOTU5ODcyNSwiZXhwIjoxNjI5NTk4NzM1fQ.6lvBhCuwluXH8g_oDMAL-6nBMGXVarPlnwXtx4kEWuY' \
  -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' \
  -H 'Content-Type: application/json;charset=UTF-8' \
  -H 'Origin: http://127.0.0.1:8080' \
  -H 'Sec-Fetch-Site: same-site' \
  -H 'Sec-Fetch-Mode: cors' \
  -H 'Sec-Fetch-Dest: empty' \
  -H 'Referer: http://127.0.0.1:8080/' \
  -H 'Accept-Language: zh-CN,zh;q=0.9' \
  --data-binary '{"name":"admin","password":"123"}' \
  --compressed
  1. 在base中执行后返回的数据如图:
查看请求各环节耗时

上面操作可以设置请求头,设置参数,用curl的方式来发送一个ajax请求,然后返回请求到的数据。
有时我们不需要看返回数据,而是想看整个请求过程中,各个环节的耗时,例如:域名解析、TCP连接、服务器响应、数据接收等…

可供查看的环节,变量名解释

  • time_namelookup :DNS 域名解析的时候,就是把 https://zhihu.com 转换成 ip 地址的过程
  • time_connect :TCP 连接建立的时间,就是三次握手的时间
  • time_appconnect :SSL/SSH 等上层协议建立连接的时间,比如 connect/handshake 的时间
  • time_redirect :从开始到最后一个请求事务的时间
  • time_pretransfer :从请求开始到响应开始传输的时间
  • time_starttransfer :从请求开始到第一个字节将要传输的时间
  • time_total :这次请求花费的全部时间

还是拿我们刚刚请求的的接口(/auth/login)为例,加入下面这些配置:

-o /dev/null  \
  -s  \
  -w "\
	time_namelookup:%{time_namelookup}\t
	time_connect: %{time_connect}\t
	time_appconnect: %{time_appconnect}\t
	time_redirect: %{time_redirect}\t
	time_pretransfer: %{time_pretransfer}\t
	time_starttransfer:%{time_starttransfer}\t
	time_total: %{time_total}\t"

base中执行代码返回如图:

curl 安装国内docker镜像 curl安装命令_配置环境变量_04

Linux curl命令详解