由于在工作中 需要监控一些业务接口,所用要用到了curl命令,以前就是简单的使用这个命令查看一下url的返回值,现在的应用场景比较复杂,所以这里记录一下curl的使用方法
不输出错误和进度信息
参数指定跳过 SSL 检测。
curl -k https://www.example.com
-I
参数向服务器发出 HEAD 请求,然会将服务器返回的 HTTP 标头打印出来。
[root@p0-tkjt-orabbix-app01 pangbing]# curl -I https://xxxxxxx.com
HTTP/1.1 200 OK
Content-Length: 982
Content-Type: text/html; charset=UTF-8
Server: Microsoft-IIS/10.0
X-Powered-By: ASP.NET
Date: Tue, 09 Nov 2021 03:31:35 GMT
-L
参数会让 HTTP 请求跟随服务器的重定向。curl 默认不跟随重定向。
添加 HTTP 请求的标头
curl -H 'Accept-Language: en-US' https://google.com
访问的时候需要认证,就可以用-H 来添加认证
curl -s -k -H "Authorization: Bearer $access_token" \
https://xxxxxxxxxxxxxxx.com/AccountId?id=17149\&teid=274e3-72ac-48e-a6b2-e49dbbf
用来在URL中查询字符串。
例如:
完整的url 查询请求是:
https://google.com/search?q=kitties&count=20
转换为完成的curl命令如下:
这里使用了-G参数 命令就会是一个GET请求,如果不加-G 就会是一个POST请求
curl -G -d "q=kitties&count=20" https://google.com/search
使用-d
参数以后,HTTP 请求会自动加上标头Content-Type : application/x-www-form-urlencoded 并且会自动将请求转为 POST 方法,因此可以省略-X POST。
curl -s -k -H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password&username=435,2714e3-72ac-48e8-a6b2-e4a9abbf&password=" \
https://xxxxxxxxxxx.com/token
一般在提交POST数据的时候,在浏览器中 可以根据开发者选项 看form data选项来查看提交的数据