httpstat يصور إحصائيات curl(1)
بطريقة من الجمال والوضوح.
هل هو ملف واحد؟ برنامج بايثون النصي الذي ليس له تبعية؟ ومتوافق مع بايثون 3؟ .
هناك ثلاث طرق للحصول على httpstat
:
قم بتنزيل البرنامج النصي مباشرة: wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
من خلال النقطة: pip install httpstat
من خلال برنامج Homebrew (نظام التشغيل MacOS فقط): brew install httpstat
بالنسبة لمستخدمي Windows، يُقترح إصدار @davecheney's Go. → رابط التحميل
ببساطة:
python httpstat.py httpbin.org/get
إذا تم تثبيته من خلال النقطة أو الشراب، فيمكنك استخدام httpstat
كأمر:
httpstat httpbin.org/get
نظرًا لأن httpstat
عبارة عن غلاف لـ 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
لإظهار نص الاستجابة في الإخراج، لاحظ أن طول النص يقتصر على 1023 بايت، وسيتم اقتطاعه إذا تم تجاوزه. الافتراضي 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
من Shell $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 بواسطةtalhasch
تم نسخ بعض كتل التعليمات البرمجية في httpstat
من مشاريعي الأخرى، ألقِ نظرة:
مكتبة الملفات الفردية reorx/python-terminal-color المنسدلة لطباعة الألوان الطرفية.
تعريف متغير البيئة reorx/getenv مع النوع.