gpt4 book ai didi

c++ - 从CDHtmlDialog获取cookie

转载 作者:行者123 更新时间:2023-12-03 07:26:03 25 4
gpt4 key购买 nike

在我的MFC应用程序中,我具有派生的CDHtmlDialog类,该类可打开登录屏幕,并且需要在重定向后从服务器获取url和cookie。

我导航到OnInitDialog内的url,并捕获OnNavigateComplete内的重定向:

void CDMYHtmlDlg::OnNavigateComplete(LPDISPATCH pDisp, LPCTSTR szUrl)
{
BSTR *bstr = nullptr;
this->GetDHtmlDocument(&this->m_spHtmlDoc);
if (this->m_spHtmlDoc != nullptr)
this->m_spHtmlDoc->get_cookie(bstr);
}

但是GetDHtmlDocument返回E_NOINTERFACE,我应该实现他吗?如果是,我如何获取IHTMLDocument2?

所以我的问题是为什么我无法获取文档,这是获取Cookie的正确方法吗?

在此先感谢您,我的英语不好。

最佳答案

终于明白了。

在CDHtmlDialog类内部,OnNavigateComplete方法负责将值分配给m_spHtmlDoc,但是由于我覆盖了该方法,因此没有人向文档分配值,甚至没有给OnDocumentComplete分配值,因此简单的解决方案是

void CDHtmlDlgPersonalizado::OnNavigateComplete(LPDISPATCH pDisp, LPCTSTR szUrl)
{
/*CALL THE PARENT METHOD*/
CDHtmlDialog::OnNavigateComplete(pDisp, szUrl);

/*Now GetDHtmlDocument will get the value from m_spHtmlDoc and assign to spHtmlDoc*/
IHTMLDocument2Ptr spHtmlDoc = nullptr;
this->GetDHtmlDocument(&spHtmlDoc);

if (spHtmlDoc != nullptr)
{
BSTR bstr = ::SysAllocString(L" ");
spHtmlDoc->get_cookie(&bstr);
}
}

关于c++ - 从CDHtmlDialog获取cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42437697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com