成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用cURL獲得請求和響應時間?

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

[[440015]]

本文轉載自微信公眾號「精益碼農」,作者StackOverflow 。轉載本文請聯系精益碼農公眾號。

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

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

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

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

  1. time_namelookup:  %{time_namelookup}s\n 
  2.      time_connect:  %{time_connect}s\n 
  3.   time_appconnect:  %{time_appconnect}s\n 
  4.  time_pretransfer:  %{time_pretransfer}s\n 
  5.     time_redirect:  %{time_redirect}s\n 
  6. ime_starttransfer:  %{time_starttransfer}s\n 
  7.                   ----------\n 
  8.        time_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包含&查詢字符串)

文本輸出

  1. time_namelookup:  0.001s 
  2.       time_connect:  0.037s 
  3.    time_appconnect:  0.000s 
  4.   time_pretransfer:  0.037s 
  5.      time_redirect:  0.000s 
  6. time_starttransfer:  0.092s 
  7.                    ---------- 
  8.         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的文件,粘貼下面內容:

  1. #!/bin/bash 
  2.  
  3. curl -w @- -o /dev/null -s "$@" <<'EOF' 
  4.     time_namelookup:  %{time_namelookup}\n 
  5.        time_connect:  %{time_connect}\n 
  6.     time_appconnect:  %{time_appconnect}\n 
  7.    time_pretransfer:  %{time_pretransfer}\n 
  8.       time_redirect:  %{time_redirect}\n 
  9.  time_starttransfer:  %{time_starttransfer}\n 
  10.                     ----------\n 
  11.          time_total:  %{time_total}\n 
  12. 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

 

責任編輯:武曉燕 來源: 精益碼農
相關推薦

2020-07-21 08:18:16

響應測試系統

2022-11-22 08:41:22

curlDELETELinux

2024-01-07 16:46:19

FiberHTTPWeb

2018-11-19 14:29:17

Spring BootXML支持

2024-04-29 08:00:00

MongoDB索引

2022-07-03 21:00:58

VoIP 系統人工智能

2015-09-29 14:01:45

SPDY網絡協議響應頭網絡協議

2009-12-10 09:11:52

Windows 7系統加速

2021-10-18 05:46:27

網絡攻擊惡意軟件網絡安全

2017-04-13 10:14:46

curl命令分析

2011-09-19 19:32:35

vista啟動修復工具

2011-12-31 10:33:01

JavajHiccup

2020-10-09 08:29:24

POSTGET參數

2023-01-01 14:04:51

字節碼接口系統

2018-06-26 13:05:17

Windows 10pingInternet

2019-01-23 10:21:32

吞吐量響應時間CPU

2019-09-18 14:46:52

mancheatLinux

2020-11-17 10:35:53

Firefox 83Firefox瀏覽器

2020-07-15 15:35:40

運維架構技術

2022-12-19 07:28:53

Kubernetes資源請求限制
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产乱码精品一区二三赶尸艳谈 | 91精品国产综合久久国产大片 | 亚洲欧美日韩激情 | 一区二区在线免费观看 | 成人av免费| 亚洲一区二区三区四区在线观看 | 福利影院在线看 | www.久久.com | 国产精品一区二区三 | 欧美色综合天天久久综合精品 | 一区二区三区不卡视频 | 国产精品99久久久久久www | 亚洲欧美中文日韩在线v日本 | 国产女人与拘做受免费视频 | 欧美一级在线观看 | 精品视频一区二区三区 | 午夜av在线 | 国产精品久久久久久久久久免费 | 一区二区三区在线观看视频 | 91xx在线观看| www日韩高清 | 亚洲一区在线播放 | 精品久久久久久久久久久久久久 | 亚洲欧洲成人av每日更新 | 成人欧美一区二区三区在线播放 | 粉嫩在线| 国产精品亚洲一区二区三区在线观看 | 亚洲精品一区二区网址 | 国产69精品久久99不卡免费版 | 蜜桃综合在线 | 亚洲精品视频一区二区三区 | 亚洲精品乱码久久久久久9色 | 久久国内 | 色黄爽| 精品视频在线一区 | 欧美精品一区三区 | 人人九九 | 国产精品一区二区三 | 精品欧美色视频网站在线观看 | av黄色免费 | 91视频在线|