Блог перформанс-інженера Костянтина Шейдаєва

httpstat - візуалізація статистики HTTP-запитів для богатих

Mar 23, 2025

> Що таке httpstat?

Не потрібен опис, достатньо однієї картинки:

Приклад роботи httpstat

Але, кілька слів я таки скажу:

> Встановлення

Основні способи встановлення httpstat:

  1. Пряме завантаження скрипту:
    wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
    
  2. Через pip:
    pip install httpstat
    
  3. Через homebrew (тільки для macOS):
    brew install httpstat
    
  4. Для користувачів Windows рекомендується не бути користувачами Windows.

> Налаштування

Інструмент підтримує багато змінних середовища для контролю своєї поведінки:

Особисто я використовую лише дві:

> Використання

Оскільки httpstat є обгорткою для curl, ви можете передавати будь-які підтримувані curl-опції після URL.

Приклад роботи httpstat

GET запити:

  1. Базовий GET:
    httpstat httpbin.org/get
    
  2. GET з параметрами в URL:
    httpstat "httpbin.org/get?param1=value1&param2=value2"
    
  3. GET з користувацькими заголовками:
    httpstat httpbin.org/get -H "User-Agent: MyCustomAgent" -H "Accept: application/json"
    
  4. GET з аутентифікацією:
    httpstat httpbin.org/basic-auth/user/pass -u user:pass
    
  5. GET з відображенням швидкості передачі:
    HTTPSTAT_SHOW_SPEED=true httpstat http://cachefly.cachefly.net/10mb.test
    
  6. GET з відображенням тіла відповіді:
    HTTPSTAT_SHOW_BODY=true httpstat httpbin.org/json
    
  7. GET запит з увімкненим детальним режимом:
    httpstat httpbin.org/get -v
    

POST запити:

  1. Базовий POST з даними форми:
    httpstat httpbin.org/post -X POST -d "name=value&foo=bar"
    
  2. POST з JSON даними:
    httpstat httpbin.org/post -X POST -H "Content-Type: application/json" -d '{"key1":"value1","key2":"value2"}'
    
  3. POST з URL-encoded даними:
    httpstat httpbin.org/post -X POST --data-urlencode "title=Test Title" --data-urlencode "body=This is the content"
    
  4. POST з файлом:
    httpstat httpbin.org/post -X POST -F "file=@/path/to/file.txt"
    
  5. POST з аутентифікацією:
    httpstat httpbin.org/post -X POST -u username:password -d "content=test"
    

PUT запити:

  1. Базовий PUT з даними:
    httpstat httpbin.org/put -X PUT -d "key=updatedvalue"
    
  2. PUT запит з JSON даними:
    httpstat httpbin.org/put -X PUT -H "Content-Type: application/json" -d '{"status":"updated","id":123}'
    
  3. PUT запит для завантаження файлу:
    httpstat httpbin.org/put -X PUT --upload-file /path/to/file.txt
    
  4. PUT запит з керуванням перенаправленням:
    httpstat httpbin.org/put -X PUT -L -d "content=test"
    
  5. PUT запит з додатковими налаштуваннями безпеки:
    httpstat httpbin.org/put -X PUT --tlsv1.2 --ciphers HIGH -d "secure_data=value"
    

    > Висновки

Перейти до GitHub-репозиторію