我是Chromium菜鸟,真的需要一些帮助。我有一个带有CEF窗口的winforms应用程序。K,到目前为止没有问题。我需要做的是使用包含身份验证信息的自定义http标头调用/加载初始URL。是否可以?以下基本上是除自定义标头(Doh!)Winform(CEFhttpRequest(withcustomheaders))[永远不会超过这一点]=>C#MVCwebapp=>Owin_Authentication_Pipelinesegment=>MVC用填充的Razor响应的所有部分查看=>显示在WinformChromium应用程序中。也许这也会有所帮助:使用CefSharp;使用CefSharp.WinForms;...privatevoidForm1_Load(objectsender,EventArgse){Cef.Initialize();ChromiumWebBrowsermyBrowser=newChromiumWebBrowser("whatever.com");//??我如何使用上面的行发送自定义标头?myBrowser.Dock=DockStyle.Fill;//我的浏览器.ShowDevTools();//myBrowser.RequestHandler=newDSRequestHander();//myBrowser.FrameLoadStart+=myBrowser_FrameLoadStart;这个.Controls.Add(我的浏览器);我杀了它,看了看,尝试了我工具箱中的每一个技巧,然后是一些。我真的很感激任何关于如何修复或绕过这个boggler的想法、帮助或提示。提前致谢。实施并分配IRequestHandler。你的after方法应该是OnBeforeResourceLoad,一个基本的例子应该是这样的boolIRequestHandler.OnBeforeResourceLoad(IWebBrowserbrowser,IRequestrequest,IResponseresponse){headers["Custom-Header"]="我的自定义标题";request.Headers=标题;返回假;目前,您必须读取headers属性,进行更改然后重新分配。您应该创建一个实现IRequestHandler的类,然后在您的浏览器对象中将该类的一个实例设置为RequestHandler。对于版本53,该类应如下所示:classChromeBrowserRequestHandler:IRequestHandler{publicboolGetAuthCredentials(IWebBrowserbrowserControl,IBrowserbrowser,IFrameframe,boolisProxy,stringhost,intport,stringrealm,stringscheme,IAuthCallbackcallback){returnfalse;}publicboolOnBeforeBrowse(IWebBrowserbrowserControl,IBrowserbrowser,IFrameframe,IRequestrequest,boolisRedirect){returnfalse;}publicboolOnBeforePluginLoad(IWebBrowserbrowser,stringurl,stringpolicyUrl,WebPluginInfoinfo){returnfalse;}publicCefReturnValueOnBeforeResourceLoad(IWebBrowserbrowserControl,IBrowserbrowser,IFrameframe,IRequestrequest,IRequestCallbackcallback){varheaders=request.Headers;headers["Custom-Header"]="我的自定义标题";request.Headers=标题;返回CefReturnValue.Continue;}publicboolOnCertificateError(IWebBrowserbrowser,CefErrorCodeerrorCode,stringrequestUrl){returnfalse;}公共无效OnPluginCrashed(IWebBrowserbrowser,stringpluginPath){}publicvoidOnRenderProcessTerminated(IWebBrowserbrowserControl,IBrowserbrowser,CefTerminationStatusstatus){}publicIResponseFilterGetResourceResponseFilter(IWebBrowserbrowserControl,IBrowserbrowser,IFrameframe,IRequestrequest,IResponseresponse){返回空;}publicboolOnCertificateError(IWebBrowserbrowserControl,IBrowserbrowser,CefErrorCodeerrorCode,stringrequestUrl,ISslInfosslInfo,IRequestCallbackcallback){returnfalse;}publicboolOnOpenUrlFromTab(IWebBrowserbrowserControl,IBrowserbrowser,IFrameframe,stringtargetUrl,WindowOpenDispositiontargetDisposition,booluserGesture){returnfalse;}publicvoidOnPluginCrashed(IWebBrowserbrowserControl,IBrowserbrowser,stringpluginPath){}publicboolOnProtocolExecution(IWebBrowserbrowserControl,IBrowserbrowser,stringurl){returnfalse;}publicboolOnQuotaRequest(IWebBrowserbrowserControl,IBrowser浏览器,stringoriginUrl,longnewSize,IRequestCallbackcallback){returnfalse;}publicvoidOnRenderViewReady(IWebBrowserbrowserControl,IBrowserbrowser){}publicvoidOnResourceLoadComplete(IWebBrowserbrowserControl,IBrowserbrowser,IFrameframe,IRequestrequest,IResponseresponse,UrlRequestStatusstatus,longreceivedContentLength){}publicvoidOnResourceRedirect(IWebBrowserbrowserControl,IBrowserbrowser,IFrame框架,IRequest请求,refstringnewUrl){}publicboolOnResourceResponse(IWebBrowserbrowserControl,IBrowserresponsebrowser,IFrameframe,IRequestfresponse){;然后,在创建浏览器对象时:ChromiumWebBrowsermyBrowser=newChromiumWebBrowser("whatever.com"){RequestHandler=newChromeBrowserRequestHandler()};请注意,请求处理程序必须在页面加载之前设置在设置请求处理程序时,您仍然可以稍后设置它以使用myBrowser.Load("whatever.com")重新加载页面。以上就是C#学习教程:chromium-初始页面加载c#发送自定义标题信息分享,如果对大家有用,需要详细了解C#学习教程,希望大家多加关注——本文来自来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
