sexta-feira, 17 de abril de 2009

TCPMon - Um inteceptador de requisições HTTP

Há muito tempo tenho procurado um interceptador de requisições HTTP, a minha necessidade era saber exatamente o que o meu client estava requisitando e o que o server estava respondendo. Isto é especialmente útil para fazer DEBUG de aplicativos WEB. No meu caso eu estava fazendo testes com chamadas de webservice a partir da linguagem ADVPL-Asp que é a linguagem proprietaria da TOTVS. Mas em outros casos isto também foi útil para verificar a comunicacao do AJAX com o Server, entre outros.

O salvador da patria foi o TCPMon, um aplicativo da Apache que permite interceptar requisições e respostas de um servidor web (http://ws.apache.org/commons/tcpmon/).

O seu uso é muito simples, você simplesmente configura uma porta a ser monitorada, por exemplo 9000, e para qual endereço o TCPMon deve direcionar as requisições que chegarem na porta 9000.

Como exemplo, você pode configurar o TCPMon para ouvir a porta 9000 e repassar a requisição para a localhost:8080. Você salva esta configuração e pronto, o TCPMon já está trabalhando.

Neste caso, se você quiser fazer o DEBUG do seu aplicativo deverá acessar o seu site através do endereço localhost:9000, pois é nesta porta que o TCPMon vai conseguir interceptar as requisições e respostas e repassar para o localhost:8080.

Mas não necessariamente você precisa trabalhar somente com localhost. Qualquer outro endereço pode ser monitorado, desde que você passe a fazer a requisição através da porta que foi configurada no TCPMon.

Espero que esta dica possa ser útil a todos

abraços