Je tente de construire WebRequest sur une page Web après une connexion réussie au portail Web sécurisé via le contrôle WPF WebBrowser, mais je suis bloqué par le problème de réutilisation des cookies WebBrowser dans WebRequest. Contrairement à WinForms, dans le contrôle WPF WebBrowser, il n'existe aucun moyen d'extraire CookieCollection via WebBrowser.Document.Cookies car l'objet Document n'a pas la propriété Cookies. La seule façon que je trouvé est d'utiliser mshtml.HTMLDocument2 qui a les cookies comme chaîneCookies WPF WebBrowser à utiliser dans WebRequest
mshtml.IHTMLDocument2 doc = (mshtml.IHTMLDocument2)webBrowser.Document;
string cookies = doc.cookie;
Cependant, il est pas assez bon comme dirait que MSHTML.Document2 - ne permet pas d'extraire les cookies importants HttpOnly (comme ASP. Net_SessionID) - et j'ai besoin de construire manuellement un objet CookiesCollection à partir d'une chaîne de cookies. Par conséquent, WebRequest avec les cookies construits à partir d'une chaîne échoue avec l'erreur Session timeout car ASP.Net_SessionID n'est pas disponible.
Existe-t-il une autre façon de générer un objet CookieCollection correct et terminé à partir du contrôle WPF WebBrowser?
Utilisez InternetGetCookieEx et transmettez l'indicateur INTERNET_COOKIE_HTTPONLY. – EricLaw
@EricLaw merci pour la correction! –