Delphi CEF 4 无法加载某些网站

Delphi CEF 4 not loading some sites

提问人:IBDiab 提问时间:2/17/2021 更新时间:2/17/2021 访问量:596

问:

我在打开网站 https://servicebox.mpsa.com/ 其他网站(如 google、youtube ........)时遇到问题 我正在使用 cef_74.1; 有什么想法吗???

德尔福 铬嵌入式

评论

1赞 fpiette 2/17/2021
最好的主意是你告诉我们你得到了什么错误。“工作不正常”不足以帮助您。
0赞 IBDiab 2/17/2021
只是没有加载,只是一个空白页,你可以自己测试一下
0赞 Olivier 2/17/2021
与“其他网站工作正常”的明显区别在于,该页面受基本身份验证保护。
0赞 IBDiab 2/17/2021
奥利维尔,是的,我同意你的看法,有没有办法用 cef 打开它?
1赞 AmigoJack 2/17/2021
为什么要用“未加载”和“问题”等短语来削弱精确的问题?如果您在 Web 浏览器中请求该网站,它会明确要求提供身份验证凭据,如果取消它,则结果是 HTTP 状态 401 - 您一定亲眼目睹/体验过。

答:

2赞 Salvador Díaz Fau 2/17/2021 #1

该网站要求提供用户名和密码。

需要使用 TChromium.OnGetAuthCredentials 事件。如果您已经知道用户名和密码,请在该事件中添加以下代码:

callback.cont(MyUsername, MyPassword);
Result := True;

如果用户必须键入用户名和密码,则将浏览器、originUrl、isProxy、host、port、realm、scheme 和 callback 参数复制到类字段中,将 Result 设置为 True,并将自定义 Windows 消息发送到主窗体以显示用户可以在其中键入他/她的凭据的自定义窗体。

当用户输入该信息并按下 OK 按钮时,请调用:

callback.cont(Username, Password);

如果用户按下 CANCEL 按钮,则调用:

callback.cancel;

有关该事件和“callback”参数的更多信息,请阅读此页面:

CEF 74 已过时。请考虑使用 GitHub 上提供的最新 CEF4Delphi 版本。

评论

0赞 fpiette 2/18/2021
如果它对你有用,你应该把答案标记为已接受。