Como chamadas interceptação HTTP de um aplicativo?
Pergunta
Eu quero ver todas as solicitações HTTP de sair de uma determinada aplicação e cancelá-las se necessário.
Existe uma maneira de fazer isso em C #?
Solução
Se você pode tocar configuração de proxy do sistema (que é usado por muitas aplicações) ou, se o aplicativo não acatam essa configuração, toque de configuração do aplicativo para usar um proxy de sua escolha, você pode criar um HTTP proxy que iria fazer o trabalho para você.
Se você quiser apenas para o perfil, há uma ferramenta feita pronta que se comporta como este e é muito agradável, Fiddler .
Outra coisa que você teria que ir mais fundo na pilha de rede e implementar algo como um sniffer / firewall, por exemplo usando WinPcap . Isso é muito mais difícil de fazer.
Outras dicas
Se você estiver trabalhando com o Windows, é possível ligar as chamadas de API de WinInet e fazer o que quiser com eles.
FreeCap (ou sua versão comercial, WideCap) faz isso: permite que você envie o tráfego TCP através de um servidor proxy. Esse proxy pode então fazer a filtragem (por exemplo Fiddler ).
Eu sei que isto traz aplicações mais autônomos no sistema, mas funciona.