2009-06-27 10 views
4

Je cherche des moyens de développer une extension pour IE6 + qui permettra la gestion des types MIME personnalisés. Par exemple, je dois pouvoir prendre un document avec un type MIME personnalisé renvoyé par le serveur, effectuer un traitement sur celui-ci, puis redéfinir le type MIME sur quelque chose que IE peut gérer nativement, tel que text/html ou image/jpeg. Je connais les filtres MIME urlmon, mais ils ont une énorme faiblesse; ils ne sont invoqués que pour le document de niveau supérieur et non pour le contenu de la page supplémentaire tel que les images et autres. Le seul moyen que je puisse imaginer est de connecter les gestionnaires de protocole HTTP/S en utilisant les correctifs vtable/iat, similaires au fonctionnement de Google Gears, pour pouvoir intercepter les en-têtes de réponse et modifier les En-têtes et corps de réponse lorsqu'un document avec le type MIME spécifié est reçu.IE MIME/filtrage de contenu

Je me demande si quelqu'un d'autre a de bonnes idées sur la façon dont cela pourrait être accompli d'une manière moins hacky/intrusive. Je pensais juste que je ferais un suivi sur ce sujet et mentionne que je suis allé avec le correctif vtable dans les gestionnaires de protocole HTTP/S, et cela a fonctionné beaucoup mieux que ce à quoi je m'attendais. Si quelqu'un d'autre cherche à faire quelque chose comme ça, je recommande fortement de jeter un oeil à la classe HttpHandlerPatch dans Google Gears pour un peu d'inspiration.

+0

Salut, j'écris une extension pour IE qui bloquera les publicités. J'ai besoin de fonctionnalités similaires comme vous - filtrage MIME/contenu. Malheureusement, je n'ai pas une grande expérience dans la programmation Windows C++. Pouvez-vous m'en dire plus sur "vtable et iat patcher". Est-ce la même chose que "API hooking"? Parce que je ne peux pas trouver beaucoup de choses sur 'patch vtable' dans google. Avez-vous de bonnes ressources sur ce sujet et comment avez-vous filtré ce contenu? J'ai regardé la classe HttpHandlerPatch de ces engrenages mais en ce moment c'est compliqué pour moi. –

+1

Salut. Ce que j'ai mentionné est assez compliqué. J'ai finalement fini par utiliser des techniques d'accrochage à l'API pour me connecter aux API WinInet, car elles étaient plus propres et me donnaient plus de contrôle. Être capable de faire ce que vous voulez avec cette méthode n'est toujours pas simple, mais ce n'est pas si mal. Vous pouvez regarder dans le projet Detours de Microsoft Research pour une bibliothèque d'accrochage API qui devrait fonctionner pour cela, mais j'ai fini par lancer ma propre version (mais moins flexible) en raison du prix élevé ($ 10,000 +) pour la version commerciale de Detours . – Gerald

Répondre

0

Il y a plusieurs années, j'ai écrit de telles extensions, BHO, barres d'outils IE, etc., basées sur un livre appelé Shell Programming dans VB6. Le livre que j'ai utilisé est celui-ci: http://oreilly.com/catalog/9781565926707/ Ce livre vous explique comment accrocher et intercepter les messages entrant dans IE. J'ai écrit une sorte de scraper d'écran (style post-rendu pas comme un spider qui n'exécute pas le javascript en premier). Il était basé sur IE5 mais les extensions fonctionnent toujours avec IE6. J'ai probablement toujours la source VB6 quelque part. Je ne propose pas de mettre à jour. Net pour vous si.

PS. La critique sur cette page par Haroeris Astrum est par moi :)

Questions connexes