Я начну с объяснения сценария:
У меня есть браузер IE на компьютере A. Внутри IE у меня есть плагин, чтобы я мог получить доступ к объекту документа, так что я могу взять файл cookie в заданное время.
Я хочу передать этот файл cookie в новый браузер на другом компьютере B.
Чтобы запустить браузер на новом компьютере, BI используйте объект InternetExplorer, я могу управлять браузером используя экземпляр объекта, но я не знаю, как «внедрить» cookie первого компьютера A во вновь созданный браузер IE.
Я пробовал два пути.
Во-первых, я попытался записать cookie перед запуском браузера с помощью WinInet API InternetSetCookie .
Во-вторых, я попытался перехватить событие BeforeNavigate2 и установить cookie в заголовок HTTP-запроса.
Но ни один из них не сработал: (
Можно ли установить cookie в новом Internet Explorer перед переходом на веб-сайт и, следовательно, иметь возможность поддерживать сеанс, который пользователь имел в его предыдущий компьютер?
Спасибо :)
ОБНОВЛЕНИЕ : У меня все еще есть эта проблема, и я провел другие исследования с помощью wirehark.
В случае 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");