12 Cliente HTTP e Ferramentas de Proxy de Depuração da Web

Uma das habilidades essenciais para um desenvolvedor e administrador de sistema é depurar o aplicativo, API ou serviços, e conhecer as ferramentas certas é um salva-vidas.

O que é Depuração?

Se você assistir a dramas criminais, a ideia por trás da depuração não será estranha para você. A depuração é um processo e envolve muitas táticas. É a descoberta sistemática e resolução de problemas e erros dentro de um programa.

Além disso, a depuração resolve todos os problemas que podem impedir o funcionamento correto do software ou, neste caso, da aplicação web. O processo de depuração de sua API ou aplicativo da Web envolve principalmente uma tentativa de reproduzir o problema.

Consequentemente, surge a necessidade de enviar uma solicitação de API. Agora, é aqui que está o problema. A maioria dos navegadores impedirá que você altere o cabeçalho de origem e até mesmo os limites do tamanho do URL.

Em outras palavras, para reproduzir o problema, talvez seja necessário realizar algumas manipulações HTTP. E isso exigirá algumas ferramentas de depuração poderosas.

Todos os componentes ou táticas do processo de depuração incluem;

  • Depuração interativa
  • Análise de fluxo de controle
  • Teste de unidade
  • Teste de integração
  • Análise do arquivo de log
  • Monitoramento
  • Despejos de memória
  • Perfil

É interessante saber que alguns clientes HTTP, ou seja, navegadores web, possuem ferramentas de desenvolvimento web embutidas. Essas ferramentas podem ser usadas para depurar APIs. Com isso em mente, não é necessário escrever sua ferramenta de depuração.

O que é Cliente HTTP?

Suponha que você pense em construir um sistema que aproveite o protocolo HTTP para comunicação distribuída ou com reconhecimento de HTTP, como um aplicativo da web. Então você pode querer olhar para o componente do cliente HTTP.

O HTTP, ou Protocolo de Transferência de Hipertexto, é o motivo pelo qual você pode se comunicar ou transferir dados na web, toda vez que digitar uma URL. É um protocolo de aplicação que possibilita a navegação na internet.

  Como adicionar usuários aos quadros do Jira

Agora, o HTTP Client é um sistema que envia solicitações para um servidor em formato de texto HTTP e, por sua vez, recebe uma resposta do mesmo servidor.

É essencial conhecer as diferenças entre um cliente HTTP e o servidor HTTP.

Diferenças entre cliente e servidor HTTP

Embora o cliente HTTP seja geralmente um navegador ou utilitário da Web, os servidores HTTP atuam como proxies para os servidores de aplicativos.

Em palavras mais simples, seus smartphones, TVs, PlayStation, realmente qualquer dispositivo que possa se conectar à internet, provavelmente está usando um cliente HTTP.

Da mesma forma, o servidor HTTP é o computador da rede ao qual o cliente HTTP se conecta. O relacionamento que eles compartilham é mais de conversação. Onde o cliente HTTP envia uma solicitação e o servidor HTTP responde.

Exemplos de solicitações HTTP

solicitações de
Resultados
PEGUE
Solicita todo o recurso
CABEÇA
Solicita recurso sem o corpo
PUBLICAR
Adiciona conteúdo a um recurso da web existente
COLOCAR
Modifica um recurso da web existente
EXCLUIR
Remove um recurso especificado
VESTÍGIO
Mostra as alterações em um recurso da web
OPÇÕES
Mostra os métodos HTTP disponíveis para o URL
CONECTAR
Converte a conexão de solicitação em um túnel TCP/IP transparente
CORREÇÃO
Modifica parcialmente um recurso da web

Depurar a web nunca foi tão fácil. Com essas ferramentas, você pode finalmente relaxar enquanto faz o que gosta.

HTTPie

O objetivo final de HTTPie é tornar a interação da CLI com a interface do usuário dos serviços da Web amigável. Esta ferramenta disponibiliza um comando HTTP para envio de requisições, tudo com o uso de uma sintaxe natural.

HTTPie pode ser usado para depuração, teste e conexão com servidores HTTP. Ele suporta HTTP, HTTPS e proxies.

Destaques

  • Sistema de suporte JSON integrado
  • Pode ser instalado no Windows, macOS e Linux
  • Cabeçalhos e métodos HTTP personalizados
  • Enviar formulários
  • Modo offline
  • Autenticação básica e digest
  • Sintaxe intuitiva

Não quer instalar o HTTPie localmente?

Não se preocupe, agora você pode executá-lo conectados.

Violinista

Violinista é um proxy de depuração web multiplataforma. Ele pode ajudar a manipular sessões da Web, inspecionar o tráfego HTTPS e monitorar o tráfego entre seu computador e a Internet.

  Hospedagem de notícias: o melhor provedor de Usenet

Você pode instalar o Fiddler no Windows, macOS e Linux. É provavelmente a ferramenta mais popular para depurar o tráfego.

RESTer

RESTer está disponível como uma extensão para Google Chrome e Firefox.

Destaques

  • Cabeçalhos de autorização com autenticação Basic ou Auth2
  • Ver histórico de solicitações
  • Realize solicitações com qualquer método, URL, corpo e cabeçalhos personalizados
  • Como testar e depurar APIs

Pata

Pata é um cliente HTTP completo, que permite enviar todos os tipos de solicitações HTTP. Com o Paw, você pode testar suas APIs e também explorar novas.

O Paw foi desenvolvido exclusivamente para macOS e possui recursos fáceis de usar. Você pode importar e gerar swagger, RAML, etc. e suporta esquema JSON.

Destaques

  • Suporta várias autenticações como básico, OAuth, hawk, digest
  • Valores dinâmicos
  • Ambientes
  • Estender por meio de extensões baseadas em java-script
  • Cookies e manipulação de sessão

Solicitante

Solicitante é um cliente robusto que combina os recursos de HTTPie, Postman e Paw. Funciona apenas com o editor Sublime Text.

Destaques

  • Suporta esquema JSON
  • Solicitar coleções e histórico
  • Saída colorida com realce de sintaxe
  • UX moderno
  • Cookies, cabeçalhos personalizados, corpo de solicitação e parâmetros de consulta são fáceis de configurar.
  • Suporte ao GraphQL

Carteiro

Sempre trabalhando em APIs?

Você vai se apaixonar pelo Postman.

Carteiro é indiscutivelmente um dos clientes HTTP mais populares usados ​​para depurar aplicativos da web. Ele permite um desenvolvimento de API mais rápido e fácil.

Destaques

  • Embala uma GUI poderosa, com uma interface amigável
  • Histórico de solicitações
  • Teste automatizado com corredor de coleta
  • Monitoramento de API flexível
  • Suporte REST, GraphQL, SOAP
  • Suporte a várias cargas úteis, incluindo JSON e HTML

ondulação

cURL é uma ferramenta de linha de comando usada para enviar dados usando a sintaxe de URL.

A coisa boa, o cURL é instalado por padrão na maioria dos sistemas operacionais com sabor UNIX. Ele suporta muitos protocolos, incluindo FTP, LDAP, POP3, SMTP, GOPHER, IMAP, HTTP, HTTPS e SCP.

Charles Proxy

Como o nome diz, Carlos procurador é um proxy HTTP e reverso. Ele funciona roteando o tráfego local através dele.

  Como desligar o registro de exposição COVID-19 e notificações no iPhone

Você pode usar Charles para proxy SSL, limitação de largura de banda, depuração AJAX, pontos de interrupção e muito mais.

Assobiar

Assobiar é uma ferramenta de depuração multiplataforma baseada em NodeJS para capturar e manipular tráfego HTTP, HTTPS, WebSocket e TCP.

Primeiro, você precisa instalar o NodeJS e depois Whistle usando o npm.

npm install -g whistle

Você sempre pode estender os recursos com o plug-in se os recursos padrão não atenderem às suas necessidades.

mitmproxy

mitmproxy é um proxy HTTPS de código aberto popular entre pesquisadores de segurança. Use-o como uma CLI, web ou API Python.

A interface da Web oferece a aparência das ferramentas de desenvolvedor do Chrome. Ele também suporta HTTP/2.

Proxyman

Semelhante à Pata acima mencionada, Proxyman é um aplicativo de proxy de depuração da Web do macOS nativo premium.

Ele atua como um intermediário para o tráfego da Web e oferece muitos recursos, incluindo os seguintes.

  • proxy SSL
  • Repetir solicitações
  • Protobuf
  • Reescrever scripts
  • Mapa local e remoto
  • Filtragem de conteúdo
  • Realce de sintaxe

Proxyman UI é muito amigável.

Kit de ferramentas HTTP

Kit de ferramentas HTTP é um depurador HTTP de código aberto. É um aplicativo de desktop disponível para Windows, Mac e Linux.

Ao contrário de outros depuradores HTTP, o HTTP Toolkit fornece interceptação direcionada automaticamente para clientes específicos, incluindo configuração HTTPS, em vez de interceptar tudo de todo o computador e, portanto, evita capturar tráfego irrelevante ou interromper outros aplicativos.

Com um clique, você pode interceptar janelas do navegador (incluindo Chrome, Firefox e mais), linguagens de back-end/script como Node.js, Python e PHP, quaisquer ferramentas de linha de comando, aplicativos Electron ou dispositivos e emuladores Android (incluindo sistema- nível de interceptação HTTPS).

O HTTP Toolkit oferece suporte a recursos de depurador HTTP padrão, incluindo pontos de interrupção e reescrita de tráfego HTTP(S), filtragem e pesquisa de tráfego coletado e destaque e formatação automática para muitos formatos populares de corpo de solicitação e resposta. Os principais recursos para interceptar, inspecionar e reescrever HTTP(S) estão disponíveis gratuitamente, enquanto alguns recursos premium avançados, como importação/exportação e regras simuladas automatizadas, exigem uma conta paga.

Conclusão

Os clientes HTTP e o proxy de depuração da Web acima podem ajudá-lo de várias maneiras. A maioria deles é gratuita ou oferece uma avaliação, então experimente alguns deles para ver o que funciona para você.

Boa solução de problemas!