Здравствуйте, ON, Вы писали:
ON>Как перехватить все http запросы?
ON>То есть чтобы из строки адреса Internet Explorer он отправлялся в мой "прокси", а не сразу в сеть, и данные соответственно тоже генерировала моя программа. Это нужно для сбора статистики запросов и возможно некоторой переадресации. Нужно перехватывать все запросы — и страницы и картинки и загрузку файлов.
ON>Спасибо.
Вариантов тьма (по убыванию предпочтительности):
1. сервис провайдеры — прослойка между драйвером tcp/ip и сокетами. В msdn это "Windows Sockets 2 SPI". Работает с любым варезом, но плохо дружит с другими сервис-провайдерами (если они есть, а это редкость) и нужны Winsocket 2.0. Горбато, но это самый официальный способ для таких вещей.
2. протокол-handler в IE. Специяльный com объект с интерфейсом IInternetProtocol. Минус — с мазиллой не проканает. Но если интересует ТОЛЬКО IE, то возможно это и лучше, чем (1).
3. http-прокси. Делаешь свой серверок, вешаешь на 127.0.0.1:8080, настраиваешь IE/мазиллу/черта лысого, и опаньки — все запросы твои. Минусы — заставь ка юзера все настраивать, щаз.
4. api hook. Тупо переделать на себя все сокетные функции типа socket, connect, accept, send, recv и так далее. Читать Рихтера, там подробно и даже примеры на компакте есть.
5. packet driver. Не писал, не щупал, ну его лесом. Но если дравера умеешь писать — пробуй