перехват http
От: ON  
Дата: 24.05.03 10:53
Оценка:
Как перехватить все http запросы?
То есть чтобы из строки адреса Internet Explorer он отправлялся в мой "прокси", а не сразу в сеть, и данные соответственно тоже генерировала моя программа. Это нужно для сбора статистики запросов и возможно некоторой переадресации. Нужно перехватывать все запросы — и страницы и картинки и загрузку файлов.
Спасибо.
Re: перехват http
От: adontz Грузия http://adontz.wordpress.com/
Дата: 24.05.03 10:56
Оценка:
Здравствуйте, ON, Вы писали:

ON>Спасибо.

Если не нужно в тихую, может как раз написать прокси?
Если только IE то можно его COM модель использовать наверное
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: перехват http
От: bubelflex  
Дата: 24.05.03 11:33
Оценка: 20 (3)
Здравствуйте, 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. Не писал, не щупал, ну его лесом. Но если дравера умеешь писать — пробуй
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.