httpstat แสดงภาพสถิติ curl(1)
ในรูปแบบที่สวยงามและชัดเจน
มันเป็น ไฟล์เดียวเหรอ? สคริปต์ Python ที่ ไม่มีการพึ่งพา? และเข้ากันได้กับ Python 3 หรือไม่? -
มีสามวิธีในการรับ httpstat
:
ดาวน์โหลดสคริปต์โดยตรง: wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
ผ่าน pip: pip install httpstat
ผ่าน homebrew (macOS เท่านั้น): brew install httpstat
สำหรับผู้ใช้ Windows แนะนำให้ใช้เวอร์ชัน Go ของ @davecheney → ลิงค์ดาวน์โหลด
อย่างง่าย:
python httpstat.py httpbin.org/get
หากติดตั้งผ่าน pip หรือ Brew คุณสามารถใช้ httpstat
เป็นคำสั่งได้:
httpstat httpbin.org/get
เนื่องจาก httpstat
เป็น wrapper ของ cURL คุณจึงสามารถส่งผ่านตัวเลือกที่รองรับ cURL หลังจาก url ได้ (ยกเว้น -w
, -D
, -o
, -s
, -S
ซึ่ง httpstat
ใช้งานอยู่แล้ว):
httpstat httpbin.org/post -X POST --data-urlencode " a=b " -v
httpstat
มีตัวแปรสภาพแวดล้อมมากมายเพื่อควบคุมพฤติกรรมของมัน นี่คือการสาธิตการใช้งานบางส่วน คุณยังสามารถเรียกใช้ httpstat --help
เพื่อดูคำอธิบายแบบเต็มได้
HTTPSTAT_SHOW_BODY
ตั้งค่าเป็น true
เพื่อแสดงเนื้อหาการตอบสนองในเอาต์พุต โปรดทราบว่าความยาวเนื้อหาถูกจำกัดไว้ที่ 1,023 ไบต์ หากเกินจะถูกตัดทอน ค่าเริ่มต้นเป็น false
HTTPSTAT_SHOW_IP
ตามค่าเริ่มต้น httpstat จะแสดงที่อยู่ IP/พอร์ตระยะไกลและในเครื่อง ตั้งค่าเป็น false
เพื่อปิดใช้งานคุณลักษณะนี้ ค่าเริ่มต้นเป็น true
HTTPSTAT_SHOW_SPEED
ตั้งค่าเป็น true
เพื่อแสดงความเร็วในการดาวน์โหลดและอัพโหลด ค่าเริ่มต้นเป็น false
HTTPSTAT_SHOW_SPEED=true httpstat http://cachefly.cachefly.net/10mb.test
...
speed_download: 3193.3 KiB/s, speed_upload: 0.0 KiB/s
HTTPSTAT_SAVE_BODY
ตามค่าเริ่มต้น httpstat จะจัดเก็บเนื้อหาไว้ในไฟล์ tmp ให้ตั้งค่าเป็น false
เพื่อปิดใช้งานคุณลักษณะนี้ ค่าเริ่มต้นเป็น true
HTTPSTAT_CURL_BIN
ระบุเส้นทางถัง cURL ที่จะใช้ ค่าเริ่มต้นคือ curl
จากเชลล์ปัจจุบัน $PATH
ตัวอย่างนี้ใช้ cURL ที่ติดตั้งไว้เพื่อสร้างคำขอ HTTP2:
HTTPSTAT_CURL_BIN=/usr/local/Cellar/curl/7.50.3/bin/curl httpstat https://http2.akamai.com/ --http2
HTTP/2 200
...
cURL จะต้องคอมไพล์ด้วย nghttp2 เพื่อเปิดใช้งานคุณสมบัติ http2 (#12)
HTTPSTAT_METRICS_ONLY
หากตั้งค่าเป็น true
httpstat จะแสดงเฉพาะเมตริกในรูปแบบ json เท่านั้น ซึ่งจะมีประโยชน์หากคุณต้องการแยกวิเคราะห์ข้อมูลแทนที่จะอ่านข้อมูล
HTTPSTAT_DEBUG
ตั้งค่าเป็น true
เพื่อดูบันทึกการแก้ไขข้อบกพร่อง ค่าเริ่มต้นเป็น false
เพื่อความสะดวก คุณสามารถส่งออกสภาพแวดล้อมเหล่านี้ใน .zshrc
หรือ .bashrc
ได้ เช่น:
export HTTPSTAT_SHOW_IP=false
export HTTPSTAT_SHOW_SPEED=true
export HTTPSTAT_SAVE_BODY=false
ต่อไปนี้คือการใช้งานบางส่วนในภาษาต่างๆ:
ไป: davecheney/httpstat
นี่คือทางเลือก Go ของ httpstat ซึ่งเขียนด้วย Go ล้วนๆ และไม่ต้องใช้โปรแกรมภายนอก เลือกมันหากคุณชอบการดำเนินการแบบไบนารี่ที่มั่นคง (จริงๆ แล้วฉันชอบ)
ไป (ไลบรารี): tcnksm/go-httpstat
นอกเหนือจากการเป็นเครื่องมือ cli แล้ว โปรเจ็กต์นี้ยังใช้เป็นไลบรารีเพื่อช่วยแก้ไขจุดบกพร่องของคำขอ HTTP ในโค้ด Go รอบคอบและมีประโยชน์มาก ดูเพิ่มเติมในบทความนี้
ทุบตี: b4b4r07/httpstat
นี่คือสิ่งที่ผมอยากทำตั้งแต่แรกๆ แต่ยอมแพ้เพราะไม่มั่นใจในทักษะทุบตีของตัวเอง ทำได้ดีมาก!
โหนด: yosuke-furukawa/httpstat
b4b4r07 กล่าวถึงสิ่งนี้ในบทความของเขา สามารถใช้เป็นไคลเอนต์ HTTP ได้เช่นกัน
PHP: talhasch/php-httpstat.php
การใช้งาน PHP โดย @talhasch
บล็อกโค้ดบางส่วนใน httpstat
ถูกคัดลอกมาจากโครงการอื่นของฉัน ดูสิ:
reorx/python-terminal-color Drop-in ไลบรารีไฟล์เดียวสำหรับการพิมพ์สีเทอร์มินัล
reorx/getenv นิยามตัวแปรสภาพแวดล้อมพร้อมประเภท