有没有办法将cookie传递给IWebBrowser2导航

时间:2017-02-27 14:21:49

标签: c++ winapi cookies webbrowser-control iwebbrowser2

有没有办法将cookie传递给IWebBrowser的Navigate方法。

据我所知,既没有在标题中传递Cookie标头,也没有InternetSetCookie / InternetSetCookieEx与IE11一起使用。

我找到的唯一工作方法是通过IHTMLDocument2的put_cookie设置cookie,但为此你必须首先加载页面。

有没有办法将cookie传递给Navigate的第一次调用?

1 个答案:

答案 0 :(得分:1)

如果您正在与低完整性浏览器控件进行交互,则可以尝试IESetProtectedModeCookie。如this cookie FAQ中所述,这仍有一些限制:

  

Windows 8+上的IE10 +引入了使用的增强保护模式   用于隔离的AppContainers(而不是Integrity Levels)。 EPM确实如此   不提供与cookie交互的API;   IESetProtectedModeCookie不会在其中设置cookie   AppContainer。

创建AppContainer没有记录,所以我假设你的进程没有在AppContainer中运行?

This newsgroup thread确认您无法在标题中设置Cookie:

  

如果有人感兴趣,我会通过Microsoft支持   了解更多相关信息。他们的回答是:我想做的不是   支持的。 Navigate / Navigate2的'headers'参数不能   用于设置cookie。

我猜测在put_cookie之后刷新页面是不可接受的?