cURL安装和常用实例
Posted IT飞牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cURL安装和常用实例相关的知识,希望对你有一定的参考价值。
cURL是一个利用URL语法在命令行下工作的文件传输工具,配置后,可以在命令行直接执行各类操作,也可以作为源码包,载入到各类后端开发,为后端提供文件传输能力;
安装
配置环境变量:
- 新建
CURL_PATH
系统变量;
- 编辑PATH,加上这两行(具体路径根据curl包实际路径填写):
%CURL_PATH%\\I386
C:\\Program Files (x86)\\curl-7.78.0-win64-mingw\\bin
3. 执行
打开base、或者cmd命令行工具,执行curl -h
,如图:
前端常用实例
对于前端从业人员来说,curl对接口的巡检功能还是非常实用的,可以使用curl查看接口的运行状况;例如,我们需要查看某个接口的性能耗时,可以这么来做:
请求数据
- 打开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
- 在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安装和常用实例的主要内容,如果未能解决你的问题,请参考以下文章
CentOS yum 命令出现 [Errno 14] curl#6 - "Couldn't resolve host ..." 的解决方法(代码片段