Цель: создать отдельную программу для сайта, т.е. чтобы сайт можно было открывать с помощью этой программы. Для этого нужно передать заголовок referer. Дело в том, что CefSharp не дает мне возможности это сделать, либо я что-то делаю не так.
При запуске вылетает исключение:
"IRequest is read-only and cannot be modified. Check IRequest.IsReadOnly to guard against this exception."
Код:
using CefSharp;
using CefSharp.Handler;
using CefSharp.WinForms;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace NewDeaf
{
public partial class NewDeafForm : Form
{
public NewDeafForm()
{
InitializeComponent();
}
public ChromiumWebBrowser wb;
public void InitializeChromium()
{
CefSettings settings = new CefSettings();
Cef.Initialize(settings);
wb = new ChromiumWebBrowser("https://newdeaf.site")
{
RequestHandler = new ChromeBrowserRequestHandler()
};
WbPanel.Controls.Add(wb);
wb.Dock = DockStyle.Fill;
}
private void NewDeafForm_Load(object sender, EventArgs e)
{
InitializeChromium();
wb.Load("https://newdeaf.site");
wb.RequestHandler.OnBeforeBrowse(wb, null, null, Request.Create(), false, false);
}
}
class ChromeBrowserRequestHandler : RequestHandler
{
protected override bool OnBeforeBrowse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture, bool isRedirect)
{
request.SetReferrer("https://KiIzEDPhB0.com", ReferrerPolicy.ClearReferrerOnTransitionCrossOrigin);
return false;
}
}
}