curl用于和服务端交互,而不用经过网页界面认为操作,常用于判定指定url的服务是否能正常调用。
curl的基本用法:
1.判定指定url连通性,curl -v https://www.baidu.com
2.调用接口,curl -H "Content-Type:application/json" -X POST -d '{"operator": "killianxu","place_type":"tt"}' http://www.killianxu.cn/api/get_place_list
可在网页https://curl.trillworks.com/,将curl调用转换为python代码
3.判定https的url是否连通,并获取其它交互的详细信息,包括tcp连接延时,SSL握手延时等,curl -m 2 -k -sS -v -w '%{time_connect}\n%{time_total}\n%{http_code}\n%{time_appconnect}\n' https://118.24.225.168:22 -H Host:1557367664.cq.1253702919.clb.myqcloud.com --trace-time
-m,--max-time <seconds>整个交互完成的超时时间。
-k ,--insecure,建立不安全连接。用于https协议,SSL握手过程,从服务端获取的证书,不进行验证。
-sS,请求发生错误时,显示错误信息,比如这里的curl: (28) Operation timed out after 2001 milliseconds with 0 out of -1 bytes received。
-v显示请求的详细过程,用于调试的目的,如果不加-v,显示如下:
-w,--write-out <format>定义请求完成时要显示的信息。这里的format为'%{time_connect}\n%{time_total}\n%{http_code}\n%{time_appconnect}\n',time_connect为tcp连接时间,time_appconnect为SSL握手时间,time_total是总时间,http_code是状态码(000有很多原因,包括tcp连接延时、ssl握手延时、操作超时等,这里可通过输出的错误信息查看原因),更多可显示的其他信息可man curl查看。
-H,--header <header>定义头部信息
--trace-time,显示curl过程的时间戳,用于查看时间耗在哪步。
当进行大量curl请求时,会出现SSL握手延时整体变大的情况,跟curl版本有关系。
NSS版本的curl SSL握手第一步时间比较长,可能和实现方式有关,可换为OpenSSL版本。
OpenSS版本curl安装如下(可安装在任意路径,不会覆盖已有版本):
2.tar -jxvf curl-7.65.3.tar.bz2
3. ./configure
4.make
原文地址:https://www.cnblogs.com/killianxu/p/11396373.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。