使用Python为Chromium嵌入式框架定义自定义方案处理程序

使用Python为Chromium嵌入式框架定义自定义方案处理程序,python,chromium-embedded,cefpython,Python,Chromium Embedded,Cefpython,如何使用CEFPython在Python中定义CEF的自定义方案处理程序 我找到了这解释了如何在C++中定义 CefSchemeHandlerFactory < /C> >和 CefSchemeHandler < /C>。但是我不知道我应该如何使用CefBase作为基本类型在Python中实现这些类,以及Python中等效类的文档在哪里。自定义方案支持尚未在CEF Python中实现,请参阅第50期“添加自定义方案支持”: 使用OnBeforeResourceLoad()和/或GetResou

如何使用CEFPython在Python中定义CEF的自定义方案处理程序


我找到了这解释了如何在C++中定义<代码> CefSchemeHandlerFactory < /C> >和<代码> CefSchemeHandler < /C>。但是我不知道我应该如何使用

CefBase
作为基本类型在Python中实现这些类,以及Python中等效类的文档在哪里。

自定义方案支持尚未在CEF Python中实现,请参阅第50期“添加自定义方案支持”:

使用OnBeforeResourceLoad()和/或GetResourceHandler()可能可以完成同样的任务。请参见RequestHandler wiki页面:

wxpython-response.py示例使用GetResourceHandler拦截正在加载的所有资源:

另请参见第49期“在资源加载之前实现OnBeforeResourceLoad”(CEF Python 1),一些注释可能会让您了解情况:


谢谢;如何向请求提供html、png或mp3文件(除了设置标题之类的内容之外)?应该使用CEFStream,但我在CEFPython中找不到CEFStream。@在CEF Python 1中,有一个StreamReader传递给OnBeforeResourceLoad():。您可以对其调用reader.SetData()。在CEF 3中,API已更改,这些附加参数不再可用。但是您可以在CEF3中使用GetResourceHandler并做您想做的事情。请参见wxpython-response.py示例。您不必在ResourceHandler中使用WebRequestClient,您可以拥有自己的实现。在ResourceHandler.ReadResponse()中为其提供数据。CEF 3中的@KavehShahbazian ResourceHandler是最好的选择,因为您可以将其分块提供。在CEF 1中使用StreamReader的OnBeforeResourceLoad,您必须在一个步骤中向其提供所有数据。这是一个了不起的项目,我希望它达到可以正式代表Python生态系统UI的成熟度。定制方案非常方便,目前cef python已经过时了。自3月份以来没有更新过。@沙雷克,你能确认一下吗?