доброго времени суток. подскажите пожалуйста какие функции нужно перехватить, чтобы реализовать сабж? нужно с одного УРЛа перенаправить не другой. спасибо за внимание.
осмелюсь возразить соратникам. 1. вариант с перехватом IWebBrowser2::Navigate, IWebBrowser2::Navigate2 не удобен, во-первых эти member функции не объявлены в SHDOCVM явно и добраться до них не легко, во-вторых не ловяться все операции типа GoBack, Refresh, Refresh2 и иже с ним 2. вариант, предложенный DAGом, на мой взгляд выглядит лучше, перехватывать winsock фунции, для замены host перехватить gethostbyname, а лучше сразу cоnnect, влепив свой IP и порт, а также send где заменяется сам URL, а возможно и verb. И все здесь хорошо, однако, если страница уже сидит в кэше, то до send'а дело не дойдет, т к IE пойдет считывать временный файл на мой взгляд лучше перехватить InternetConnect, поменяв значение параметров lpszServerName, nServerPort (возможно и других тоже) на свои, а также перехвать HttpOpenRequest, поменяв на свои lpszVerb (GET на РОST или наоборот) и lpszObjectName Обе фунции в версиях InternetConnectA, InternetConnectW, HttpOpenRequestA, HttpOpenRequestW сидят в wininet.dll, а для перехвата достаточно поменять их адрес в таблице импорта urlmon.dll, как показает опыт, что перехват функций с префиксом A достаточен