Начну с объяснения сценария:
У меня есть браузер IE на компьютере A. Внутри IE у меня есть плагин, чтобы я мог получить доступ к объекту документа, чтобы я мог получить cookie в данный момент времени.
Я хочу перенести этот файл cookie в новый браузер на другом компьютере B.
Для запуска браузера на новом компьютере BI используйте объект InternetExplorer, я могу управлять браузером, используя экземпляр объекта, но я не знаю, как «внедрить» cookie первого компьютера A в новый создан браузер IE.
Я пробовал два способа.
Сначала я попытался записать cookie-файл перед запуском браузера с использованием WinInet API InternetSetCookie .
И во-вторых, я попытался перехватить событие BeforeNavigate2 и установить cookie в заголовок HTTP-запроса.
Но ни один из них не сработал: (
Можно ли установить cookie в новом Internet Explorer перед переходом на веб-сайт и, следовательно, иметь возможность сохранить версию, которую пользователь имел на своем предыдущем компьютере?
Спасибо:)
ОБНОВЛЕНИЕ : У меня все еще есть эта проблема, и я провел некоторые другие исследования с использованием wireshark.
В случае BeforeNavigate2 IExplore просто игнорирует значение «Cookie:» в заголовке.
В случае InternetSetCookie кажется, что он работает правильно. Он создает тот же файл, который создает обычная навигация IExplore, но когда вы переходите на эту страницу, IE игнорирует файл, содержащий cookie.
Код, который я использую для записи файла cookie:
string cookie = "COOKIEVALUES";
InternetSetCookie("http://www.facebook.com/", "", cookie+";expires=Sat, 08-Jan-2014 00:00:00 GMT");