我正在使用Cefsharp库在c#Windows窗体应用程序中使用Web界面。我可以使用以下代码在浏览器中加载标签页:>
Cef.EnableHighDPISupport(); CefSettings settings = new CefSettings(); Cef.Initialize(settings); chromeBrowser = new ChromiumWebBrowser("http://localhost/myproject/login.php"); tab_web.Controls.Add(chromeBrowser);
但是我无法将登录凭据发布到页面上(方法是POST),因此我可以注册会话,并且用户可以直接从应用程序访问其个人资料。更新
public partial class Form1 : Form
{
public void InitializeChromium()
{
Cef.EnableHighDPISupport();
CefSettings settings = new CefSettings();
settings.RemoteDebuggingPort = 8088;
Cef.Initialize(settings);
ChromiumWebBrowser chromeBrowser = new ChromiumWebBrowser("http://localhost/test.php");
chromeBrowser.RequestHandler = new CustomRequestHandler();
tab_web.Controls.Add(chromeBrowser);
chromeBrowser.Dock = DockStyle.Fill;
}
public Form1()
{
InitializeComponent();
InitializeChromium();
}
public void load_browser()
{
ChromiumWebBrowser chromeBrowser = new ChromiumWebBrowser();
byte[] request = Encoding.ASCII.GetBytes("data1=sssss&data2=sssss");
PostTest.Navigate( chromeBrowser, "http://localhost/test.php", request, "application/x-www-form-urlencoded");
tab_gis.Controls.Add(chromeBrowser);
}
}
public class CustomRequestHandler : CefSharp.Handler.RequestHandler
{
protected override IResourceRequestHandler GetResourceRequestHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
{
if (request.Url == "http://localhost/test.php")
{
return new CustomResourceRequestHandler();
}
return null;
}
}
public class CustomResourceRequestHandler : CefSharp.Handler.ResourceRequestHandler
{
protected override CefReturnValue OnBeforeResourceLoad(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
{
var postData = new PostData();
MessageBox.Show("HHHH");
postData.AddData("test=123&data2=456");
request.Method = "POST";
request.PostData = postData;
return CefReturnValue.Continue;
}
}
我将内容类型更改为multipart / form-data,文本,xml等。没有任何帮助。
我正在使用Cefsharp库在c#Windows窗体应用程序中使用Web界面。我可以使用以下代码Cef.EnableHighDPISupport()在浏览器中加载我的标签页; ...
贷方Amaitland