curl使用总结

1·、查看curl的安装版本以及支持的协议:$ curl -V

curl使用总结

2、CURL分析HTTPS请求耗时时间:

HTTPS耗时=TCP握手+SSL握手,因为涉及到一些加密,即多了几次握手交互,可以看到时间
要多于平常时间的3-5陪,当然也和机器性能相关:

$: curl -w "TCP handshake: %{time_connect}, SSL handshake: %{time_appconnect}\n" -so /dev/null url

curl使用总结

3、CURL分析HTTPS请求过程:

curl -trace命令可以记录请求的详情,命令如下:
$: curl -kv -1 --trace temp.txt 'url'  忽略ssl解析

curl使用总结

temp.txt中详细记录了请求的详情

部分截图如下:

curl使用总结curl使用总结

curl -v -1 --trace temp.txt 'url' 不忽略ssl解析

curl使用总结

4、访问https站点:$ curl --insecure https://192.168.26.219/a.php
--insecure忽略对本地ssl证书的校验

curl使用总结

5、调用HTTPS的loginAPI登陆:

登陆网址为:https://192.168.26.219/wp-login.php

curl使用总结

用户名与密码登陆的关键字为:

curl使用总结

$: curl -v --insecure -d "log=admin&pwd=adminadmin&wp-submit=登陆" https://192.168.26.219/wp-login.php

-d "...&..."的参数是通过POST方法发送参数。服务端最终回复一个JSON格式的字符串,表示登陆成功。并且拿到了wordpress_sec_d121d4c04293418250eaf77073c8fa7的值,也就是cookie

curl使用总结

curl使用总结

用拿到的cookie去访问https网页,后面的网页只需要HTTP访问,提供正确的cookie即可:

 curl -v  --cookie "wordpress_sec_d121d4c04293418250eaf77073c8fa71=admin%7C1579228052%7CGJ7tJrKEuP3r01nIbesOfwXbNS1FAPrmnJsWszBQ0Mu%7C7c5f1186774e2dcaebbec95814fb6c855cabe46262f18df99beb6e790c0c0a9d" https://192.168.26.219/wp-login.php

curl使用总结

6、Linux证书安装路径:$ /etc/pki/tls/certs

通过浏览器访问来下载ca证书:

curl使用总结

curl使用总结

curl使用总结

curl使用总结

curl使用总结

curl使用总结

将ca证书导入到Linux库中,

ca证书的转换(cer转pem):

命令:

[[email protected] ~]# openssl
OpenSSL> x509 -inform der -in /root/windows.cer -out /root/windows.pem

curl使用总结

cat /root/windows.pem >> /etc/pki/tls/certs/ca-bundle.crt

curl使用总结

由于Linux最小化安装中是没有浏览器的,故使用:curl url命令:用来检测一个网址是否能够正常访问,因此这种方式就是实现一种浏览器访问的功能。

7、使用curl下载文件:

使用:curl -O url下载文件

-O:使用URL中默认的文件名保存文件到本地

curl -O http://yjszs.hfut.edu.cn/upload/xxnr/1568615796096.doc

下载一个word文档:

curl使用总结

同时获取多个文件的命令:$  curl -O url1 -O url2

使用:curl -o 新文件名 文件下载地址

-o:将文件保存为命令行中指定的文件名的文件中

curl -o 1.jpg http://t9.baidu.com/it/u=86853839,3576305254&fm=79&app=86&size=h300&n=0&g=4n&f=jpeg?sec=1579684823&t=0dc308b4ce7f8f3f15a140b94d4e8380

在命令行中输入“curl -o 1.jpg 一个xxx.jpg网络地址”这句话是将xx.jpg下载保存到本地,并可以重命名为1.jpg。

curl使用总结

8、利用curl上传文件

$: curl -T 1.jpg -u 用户名:密码 ftp://FTP地址

在命令行中输入“curl -T 1.JPG -u 用户名:密码 ftp://FTP地址/img/”这句命令的意思是将1.jpg上传到一个ftp的目录下,当然了使用该句命令需要知道ftp的基本信息如端口用户名密码等。