日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何使用cURL获得请求和响应时间?

發布時間:2023/12/4 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用cURL获得请求和响应时间? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 碼甲說??

? ? ?hello,老伙計們,又有半個多月沒見了,今天給大家分享一個干貨編程小技巧,上至架構師、下至開發者、運維男、QA, 得此利器,事半功倍。

cURL在我的眼里,就是一個httpClient手辦,老伙計們知道怎么獲得cURL請求的具體耗時嗎?? 🙃

cURL支持格式化輸出請求的詳細信息(請參閱cURL手冊頁的-w、–write out<format>獲取更多信息)。

如題,我們只關注如何知曉cURL請求的時間細節, 下面時間以s為單位。

1. 創建一個文本文件curl-format.txt, 粘貼下面內容

time_namelookup:??%{time_namelookup}s\ntime_connect:??%{time_connect}s\ntime_appconnect:??%{time_appconnect}s\ntime_pretransfer:??%{time_pretransfer}s\ntime_redirect:??%{time_redirect}s\ntime_starttransfer:??%{time_starttransfer}s\n----------\ntime_total:??%{time_total}s\n

2.發起請求

url -w "@curl-format.txt" -o /dev/null -s "http://wordpress.com/"

在windows機器上是curl -w "@curl-format.txt" -o NUL -s "http://wordpress.com/"

旁白解釋

-w "@curl-format.txt" 通知cURL使用格式化的輸出文件
-o /dev/null 將請求的輸出重定向到/dev/null
-s 通知cURL不顯示進度條
"http://wordpress.com/" 是我們請求的URL,請使用引號包圍(尤其當你的URL包含&查詢字符串)

文本輸出

time_namelookup:??0.001stime_connect:??0.037stime_appconnect:??0.000stime_pretransfer:??0.037stime_redirect:??0.000s time_starttransfer:??0.092s----------time_total:??0.164s

輸出的啥意思呢🧐?我解釋一下:

  • time_namelookup:DNS 域名解析的時間,就是把http://wordpress.com 轉換成ip地址的過程

  • time_connect:TCP 連接建立的時間,就是三次握手的時間

  • time_appconnect:SSL/SSH等上層協議建立連接的時間,比如 connect/handshake 的時間

  • time_pretransfer:從請求開始到響應開始傳輸的時間

  • time_starttransfer:從請求開始到第一個字節將要傳輸的時間

  • time_total:這次請求花費的全部時間

制作成Linux/Mac快捷命令(alise 別名)

alias curltime="curl -w \"@$HOME/.curl-format.txt\" -o /dev/null -s "

制作成Linux/Mac 獨立腳本

腳本不需要單獨的包含格式化的文本。

在可執行路徑中,創建名為curltime的文件,粘貼下面內容:

#!/bin/bashcurl?-w?@-?-o?/dev/null?-s?"$@"?<<'EOF'time_namelookup:??%{time_namelookup}\ntime_connect:??%{time_connect}\ntime_appconnect:??%{time_appconnect}\ntime_pretransfer:??%{time_pretransfer}\ntime_redirect:??%{time_redirect}\ntime_starttransfer:??%{time_starttransfer}\n----------\ntime_total:??%{time_total}\n EOF

制作成windows快捷方式(bat批處理)

把下面的命令寫入curltime.bat:
curl -w "@%~dp0curl-format.txt" -o NUL -s %*

以上手段后,curltime wordpress.org就可以拿到cURL的請求耗時。


🤩 cURL還有一個小技巧:模擬連接/傳輸超時。

連接超時時間用--connect-timeout參數來指定,數據傳輸的最大允許時間用-m參數來指定。

連接超時的話,出錯提示形如:curl: (28) connect() timed out!

數據傳輸的最大允許時間超時的話,出錯提示形如:
curl: (28) Operation timed out after 2000 milliseconds with 0 bytes received

??

●有關[Http持久連接]的一切,卷給你看

●HTTP1.1 Keep-Alive到底算不算長連接?

●寶藏好物gRPCurl

●SignalR 開發到生產部署閉坑指南

●SignalR在React/Go技術棧的實踐

●我是狀態機, 一顆永遠騷動的機器引擎

●你怕是對MD5算法有誤解

點個在看你最好看

僅代表此刻認知,文章永久更新地址,請移步原文!!

總結

以上是生活随笔為你收集整理的如何使用cURL获得请求和响应时间?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。