2008-09-26 6 views
2

J'utilise l'automatisation du navigateur pour tester des sites Web, mais j'ai besoin de vérifier les requêtes HTTP du navigateur (c'est-à-dire, des images, des scripts externes, des objets XmlHttpRequest). Existe-t-il un moyen d'instancier par programme un proxy ou un sniffer de paquets que le navigateur utilisera pour voir ce qu'il envoie?Existe-t-il un moyen .NET pour écouter par programme le trafic HTTP?

J'utilise déjà Fiddler pour regarder le trafic, mais je veux quelque chose qui ne soit pas de l'interface utilisateur que je puisse utiliser dans l'intégration de build continue.

Puis-je obtenir facilement les informations spécifiques à HTTP à partir de WinpCap?

Répondre

2

Essayez winpcap. C'est une combinaison pilote/bibliothèque qui peut être utilisée pour surveiller les paquets. Basé sur ce que vous essayez de faire (regarder le trafic w/o une interface utilisateur), c'est probablement une solution plus simple que d'écrire votre propre proxy.

0

Avez-vous examiné l'implémentation d'un module HTTP ou d'un gestionnaire Http (.ashx)? Ils vous permettront d'intercepter chaque requête Web et de les traiter selon vos besoins avant d'accéder à votre page.

+0

Ce sont des demandes pour des sites tiers –

+0

Vos tests automatisés vont donc dépendre de sites tiers en direct? – core

1

Il existe de nombreuses applications pour cela. Ma recommandation est Wireshark

2

Vous ne voulez probablement pas proxy, cela va introduire beaucoup de complexité inutile.

Considérons reniflant le paquet à la place, ce qui est à peu près un problème résolu. Wireshark est pratique comme un utilitaire autonome que vous pouvez utiliser manuellement, mais il est également possible d'effectuer un reniflage de paquets par programme, en utilisant WinPcap, la bibliothèque sur laquelle Wireshark est basé. Voici quelques exemples de WinPcap dans .Net, .NetNomad's example with sample project, et a CodeProject tutorial, également avec la source.

Questions connexes