2017-02-27 125 views
1

有什麼辦法可以將cookie傳遞給IWebBrowser的Navigate方法。有什麼辦法可以將cookie傳遞給IWebBrowser2 navigate

據我所見,既沒有在頭文件中傳遞Cookie頭,也沒有InternetSetCookie/InternetSetCookieEx與IE11一起使用。

我發現的唯一工作方法是通過IHTMLDocument2的put_cookie來設置cookie,但爲此您必須首先加載頁面。

有沒有辦法將cookie傳遞給第一次導航調用?

回答

1

如果您正在使用低完整性瀏覽器控件進行交互,則可以嘗試IESetProtectedModeCookie。這仍然在this cookie FAQ注意的限制:隔離它採用 AppContainers(而不是完整性等級)

在Windows 8+ IE10 +推出增強保護模式。 EPM 不提供用於與Cookie交互的API; IESetProtectedModeCookie不會將Cookie設置在 AppContainer中。

創建AppContainers沒有記錄,所以我假設你的過程沒有在AppContainer中運行?

This newsgroup thread確認你不能在頭設置cookie:

如果有人有興趣,我通過微軟的支持去 瞭解更多關於這一點。他們的回答:我想要做的不是 支持。 Navigate/Navigate2的'headers'參數不能是用於設置cookie的 。

我猜在put_cookie之後刷新頁面是不可接受的?

+0

您的鏈接指出IESetProtectedModeCookie - 調用標準InternetSetCookieEx,所以我認爲這不會對直接調用產生影響。 – elevener

+0

>我猜在put_cookie之後刷新頁面是不可接受的? 現在我正是那樣做的,但這是不可取的。 – elevener

+0

IESetProtectedModeCookie在正確的上下文中調用InternetSetCookieEx。您沒有提供任何關於您的應用程序的信息,因此我不知道它是否相關,但在Vista + IE中有兩個存儲位置用於Cookie。 – Anders

相關問題