假设我使用WinInet/WinHTTP来抓取一个网站。在过去,我可以简单地要求用户使用嵌入式IE控件或IE浏览器登录网站,而WinInet将使用与IE浏览器相同的cookies。现在这种情况不会再发生了,因为Internet Explorer很快就会变得陈旧并被移除。
无论出于何种原因,Edge browser不包装/使用Windows Internet设置/ cookies存储...有没有人有通过嵌入式webview2登录的经验...是否获取cookes并传输到WinInet?在这里,你可以使用WinInet/WinHTTP在登录状态下抓取网站。
在发出WinInet HTTP请求之前,通过嵌入式WebView2控件登录并将所有cookies传输到WinInet是可行的解决方案吗?
(我已经添加了一个特定于Delphi的标记(TEdgeBrowser),但我很有兴趣听到上面描述的概念是否可以应用到工作中。)
发布于 2021-08-02 16:21:10
我们向WebView2添加了一个CoreWebView2.CookieManager,这样您就可以枚举WebView2中的所有cookies并将它们设置到wininet上,反之亦然。WebView2和Edge基于铬,并有自己的HTTP堆栈和状态位置,因此没有连接到wininet。
https://stackoverflow.com/questions/68587138
复制相似问题