httpstat visualiza estatísticas curl(1)
de uma forma bonita e clara.
É um único arquivo? Script Python que não tem dependência? e é compatível com Python 3? .
Existem três maneiras de obter httpstat
:
Baixe o script diretamente: wget https://raw.githubusercontent.com/reorx/httpstat/master/httpstat.py
Através do pip: pip install httpstat
Através do homebrew (somente macOS): brew install httpstat
Para usuários do Windows, é sugerida a versão Go do @davecheney. → link para baixar
Simplesmente:
python httpstat.py httpbin.org/get
Se instalado através de pip ou brew, você pode usar httpstat
como comando:
httpstat httpbin.org/get
Como httpstat
é um wrapper de cURL, você pode passar qualquer opção suportada por cURL após o url (exceto -w
, -D
, -o
, -s
, -S
que já são usados por httpstat
):
httpstat httpbin.org/post -X POST --data-urlencode " a=b " -v
httpstat
possui várias variáveis de ambiente para controlar seu comportamento. Aqui estão algumas demonstrações de uso, você também pode executar httpstat --help
para ver a explicação completa.
HTTPSTAT_SHOW_BODY
Defina como true
para mostrar o corpo da resposta na saída. Observe que o comprimento do corpo é limitado a 1.023 bytes e será truncado se exceder. O padrão é false
.
HTTPSTAT_SHOW_IP
Por padrão, httpstat mostra o endereço IP/porta remoto e local. Defina como false
para desativar esse recurso. O padrão é true
.
HTTPSTAT_SHOW_SPEED
Defina como true
para mostrar a velocidade de download e upload. O padrão é 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
Por padrão, o httpstat armazena o corpo em um arquivo tmp, definido como false
para desativar esse recurso. O padrão é true
HTTPSTAT_CURL_BIN
Indique o caminho do bin cURL a ser usado. O padrão é curl
do shell atual $PATH.
Este exemplo usa cURL instalado pelo brew para fazer solicitações HTTP2:
HTTPSTAT_CURL_BIN=/usr/local/Cellar/curl/7.50.3/bin/curl httpstat https://http2.akamai.com/ --http2
HTTP/2 200
...
cURL deve ser compilado com nghttp2 para ativar o recurso http2 (#12).
HTTPSTAT_METRICS_ONLY
Se definido como true
, httpstat produzirá apenas métricas no formato json, isso é útil se você deseja analisar os dados em vez de lê-los.
HTTPSTAT_DEBUG
Defina como true
para ver os logs de depuração. O padrão é false
Por conveniência, você pode exportar esses ambientes em seu .zshrc
ou .bashrc
, por exemplo:
export HTTPSTAT_SHOW_IP=false
export HTTPSTAT_SHOW_SPEED=true
export HTTPSTAT_SAVE_BODY=false
Aqui estão algumas implementações em vários idiomas:
Acesse: davecheney/httpstat
Esta é a alternativa Go do httpstat, é escrita em Go puro e não depende de programas externos. Escolha-o se você gosta de execuções binárias sólidas (na verdade eu gosto).
Go (biblioteca): tcnksm/go-httpstat
Além de ser uma ferramenta cli, este projeto é utilizado como biblioteca para auxiliar na depuração de latência de solicitações HTTP em código Go, muito atencioso e útil, veja mais neste artigo
Bash: b4b4r07/httpstat
Isso é exatamente o que eu queria fazer no começo, mas desisti por não ter confiança nas minhas habilidades de bash, bom trabalho!
Nó: yosuke-furukawa/httpstat
b4b4r07 mencionou isso em seu artigo, também pode ser usado como cliente HTTP.
PHP: talhasch/php-httpstat
A implementação do PHP por @talhasch
Alguns blocos de código no httpstat
são copiados de outros projetos meus, dê uma olhada:
reorx/python-terminal-color Biblioteca de arquivo único drop-in para impressão de cores do terminal.
reorx/getenv Definição de variável de ambiente com tipo.