O FiddlerCoreAPIFreeSetup mais recente, capture o novo arquivo dll e use após a instalação, a biblioteca http custom interception processing do Fiddler, o FiddlerCore, está atualmente disponível como uma biblioteca de classes .NET, que pode ser usada por qualquer aplicação .NET. O FiddlerCore foi projetado para aplicações dedicadas que rodam sem interface de usuário, como automação de testes, ou interfaces específicas para interfaces que o Fiddler Addon não se encaixa, como visualização de tráfego WPF.
O FiddlerCore agora mudou para o pagar, mas antes da cobrança, várias novas versões do padrão .NET foram lançadas em beta, que estavam disponíveis e não tinham limite de 30 dias. O SDK completo e a demo estão disponíveis. O endereço de download é o seguinte:
Crie um novo projeto de console .NET 4.6.2: HttpCapture, que faz referência à biblioteca de classes FiddlerCore45.dll, que pode ser obtida baixando-a como acima.
O evento do Fiddler é o seguinte:
// Resumo: Esse evento é acionado quando uma sessão é concluída evento estático público SessionStateHandler AfterSessionComplete; // Resumo: Esse evento é ativado quando o Fiddler captura uma mensagem WebSocket evento estático público EventHandler<WebSocketMessageEventArgs> OnWebSocketMessage; [CodeDescription("Este evento dispara um certificado HTTPS validado.")] evento estático público EventHandler<ValidateServerCertificateEventArgs> OnValidateServerCertificate; // Resumo: Esse evento é acionado quando os Cabeçalhos de Resposta estão disponíveis evento estático público SessionStateHandler ResponseHeadersAvailable; // Resumo: Esse evento é ativado quando Cabeçalhos de Solicitação estão disponíveis evento estático público SessionStateHandler RequestHeadersDisponíveis; // Resumo: Esse evento é ativado quando uma resposta do servidor é recebida pelo Fiddler evento estático público SessionStateHandler BeforeResponse; // Resumo: Esse evento é acionado quando um pedido de cliente é recebido pelo Fiddler evento estático público SessionStateHandler BeforeRequest; // Resumo: Esse evento é disparado toda vez que o FiddlerCore lê dados da rede para o cliente Pedido. Note que esses dados não são formatados de forma alguma e devem ser analisados pelo destinatário. evento estático público EventHandler<RawReadEventArgs> OnReadRequestBuffer; // Resumo: Esse evento é disparado toda vez que o FiddlerCore lê dados da rede para o servidor resposta. Note que esses dados não são formatados de forma alguma e devem ser analisados pelo destinatário. evento estático público EventHandler<RawReadEventArgs> OnReadResponseBuffer; [CodeDescription("Este evento dispara quando o usuário instrui Fiddler a limpar o cache ou os cookies.")] evento estático público EventHandler<CacheClearEventArgs> OnClearCache; // Resumo: Sincronize este evento para ser notificado quando o FiddlerCore for anexado como proxy do sistema.")] [CodeDescription("Sincronizar este evento para ser notificado quando o FiddlerCore for anexado como proxy do sistema.")] [Obsoleto("Por favor, use o Telerik.NetworkConnections.NetworkConnectionsManager.)] evento estático público SimpleEventHandler FiddlerAttach; // Resumo: Sincronize este evento para ser notificado quando o FiddlerCore se desligar como proxy do sistema. [CodeDescription("Sincronizar este evento para ser notificado quando o FiddlerCore se desligar como proxy do sistema.")] [Obsoleto("Por favor, use o Telerik.NetworkConnections.NetworkConnectionsManager.)] evento estático público SimpleEventHandler FiddlerDetach; [CodeDescription("Este evento é ativado quando uma notificação ao usuário é exibida. Veja CONFIG. Propriedade QuietMode.")] evento estático público EventHandler<NotificationEventArgs> OnNotification; // Resumo: Esse evento é ativado quando uma resposta de erro é gerada pelo Fiddler evento estático público SessionStateHandler BeforeReturningError; // Resumo: Disparado toda vez que o Fiddler aceita com sucesso uma conexão TCP/IP evento estático público EventHandler<ConnectionEventArgs> AfterSocketAccept; // Resumo: Disparado toda vez que o Fiddler estabelece com sucesso uma conexão TCP/IP evento estático público EventHandler<ConnectionEventArgs> AfterSocketConnect; Eventos comumente usados são AntesDeSolicitar, AntesDeResposta e ApósSessãoCompleta.
Se você quiser bloquear requisições HTTPS, precisa instalar um certificado, cujo código é o seguinte:
Anexado está o código para determinar se o certificado existe:
Os resultados que alcançamos foram os seguintes:
1. Interceptarwww.itsvse.comSite request, que retorna diretamente um pedaço de conteúdo JSON. 2. Bloqueie o down.itsvse.com site e, após a resposta, substitua a string "Enviado por" por "Enviado por"
O código é o seguinte:
Depois, configure manualmente o agente IE 127.0.0.1:9099, também com as configurações de código, conforme segue:
As renderizações são as seguintes:
Nota: Ao modificar o conteúdo após a resposta, é necessário configurar uma sessão no evento BeforeRequestsession.bBufferResponse = true;, caso contrário, você não pode modificar o conteúdo da resposta!
Código fonte para download:
Turistas, se quiserem ver o conteúdo oculto deste post, por favor Resposta
(Fim)
|