@Proger5913

Как изменить Headers в CefSharp?

Цель: создать отдельную программу для сайта, т.е. чтобы сайт можно было открывать с помощью этой программы. Для этого нужно передать заголовок 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;
        }
    }
}
  • Вопрос задан
  • 540 просмотров
Пригласить эксперта
Ответы на вопрос 1
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Выставление Headers:

CefSettings settings = new CefSettings();
settings.CefCommandLineArgs.Add("accept-encoding", "gzip, deflate, br");
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы