に使用する私は、WPFのWebBrowserコントロールを介したセキュアなウェブポータルに成功した伐採後のウェブページへのWebRequestを構築しようとするが、WebRequestクラスに、Webブラウザーのクッキーを再利用の問題で立ち往生。WPFのWebBrowserクッキーは、WebRequestクラス
WinFormsとは異なり、WPF WebBrowserコントロールでは、DocumentオブジェクトにCookiesプロパティがないため、WebBrowser.Document.Cookies経由でCookieCollectionを抽出する方法はありません。私が見つけた 唯一の方法は、文字列としてクッキーを持っているmshtml.HTMLDocument2を使用することです
mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)webBrowser.Document;
string cookies = doc.cookie;
MSHTML.Document2 のように見えるとして、それは十分ではありませんが - ASPのように(HttpOnlyの重要なクッキーを抽出することはできません。 Net_SessionID) - Cookies文字列からCookiesCollectionオブジェクトを手動で構築する必要があります。
その結果、ASP.Net_SessionIDが使用できないため、文字列から構成されたCookieを使用したWebRequestがセッションタイムアウトエラーで失敗しています。
適切で完全なCookieCollectionオブジェクトをWPF WebBrowserコントロールから構築する別の方法はありますか?
InternetGetCookieExを使用し、INTERNET_COOKIE_HTTPONLYフラグを渡します。 – EricLaw
@EricLaw訂正ありがとう! –