Я пытаюсь создать браузер прокси, используя браузер Cefsharp , который включает в себя изменение URL с https: // the_url/ на https: // the_proxy_server/https: // the_url . Тем не менее, это изменение URL изменяет домен и вызывает проблемы с политикой безопасности контента (CSP) и веб-сайтами, которые дважды проверяют домен. Я не использую прокси -API, потому что хочу добавить больше вещей, которые прокси -API не могут достичь, позже. Я также попытался переопределить загрузку части Cefsharp, но она также не сработала. Я пытался искать в Интернете, но нет подобного вопроса. Вот код, который у меня есть сейчас: < /p>
public class CustomRequestHandler : CefSharp.Handler.RequestHandler
{
protected override bool OnBeforeBrowse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture, bool isRedirect)
{
return false; // Allow navigation
}
protected override IResourceRequestHandler GetResourceRequestHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
{
return new CustomResourceRequestHandler();
}
}
public class CustomResourceRequestHandler : ResourceRequestHandler
{
private const string proxyURL = "https://***.workers.dev/"; // for demo only
protected override CefReturnValue OnBeforeResourceLoad(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
{
if (!request.Url.StartsWith(proxyURL))
{
request.Url = proxyURL + request.Url;
}
Console.WriteLine(request.Url);
//new CefSharp.UrlRequest(request, new CustomUrlRequestClient());
return CefReturnValue.Continue; // Continue with the request
}
}
< /code>
Я предпочитаю не изменять какую -либо часть веб -контента, потому что трудно изменить каждый домен (особенно те API, которые используют зашифрованные домены). [b] В этом случае я ищу способ переопределить часть обработки URL -адреса в CEFSHARP
[/b], и изменение исходного кода также приемлемо, если нет способа сделать это напрямую. Это позволило бы мне поддерживать исходные URL -адреса для проверки CSP, в то же время используя прокси -сервер.
Я пытаюсь создать браузер прокси, используя браузер Cefsharp , который включает в себя изменение URL с https: // the_url/ на https: // the_proxy_server/https: // the_url . Тем не менее, это изменение URL изменяет домен и вызывает проблемы с политикой безопасности контента (CSP) и веб-сайтами, которые дважды проверяют домен. Я не использую прокси -API, потому что хочу добавить больше вещей, которые прокси -API не могут достичь, позже. Я также попытался переопределить загрузку части Cefsharp, но она также не сработала. Я пытался искать в Интернете, но нет подобного вопроса. Вот код, который у меня есть сейчас: < /p> [code] public class CustomRequestHandler : CefSharp.Handler.RequestHandler { protected override bool OnBeforeBrowse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool userGesture, bool isRedirect) { return false; // Allow navigation } protected override IResourceRequestHandler GetResourceRequestHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling) { return new CustomResourceRequestHandler(); } }
public class CustomResourceRequestHandler : ResourceRequestHandler { private const string proxyURL = "https://***.workers.dev/"; // for demo only protected override CefReturnValue OnBeforeResourceLoad(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback) {
if (!request.Url.StartsWith(proxyURL)) { request.Url = proxyURL + request.Url; } Console.WriteLine(request.Url);
//new CefSharp.UrlRequest(request, new CustomUrlRequestClient());
return CefReturnValue.Continue; // Continue with the request } } < /code> Я предпочитаю не изменять какую -либо часть веб -контента, потому что трудно изменить каждый домен (особенно те API, которые используют зашифрованные домены). [b] В этом случае я ищу способ переопределить часть обработки URL -адреса в CEFSHARP [/code] [/b], и изменение исходного кода также приемлемо, если нет способа сделать это напрямую. Это позволило бы мне поддерживать исходные URL -адреса для проверки CSP, в то же время используя прокси -сервер.
Я пытаюсь создать прокси-браузер с помощью браузера CEFSharp, что предполагает изменение URL-адреса с на . Однако это изменение URL-адреса меняет домен и вызывает проблемы с политикой безопасности контента (CSP) и веб-сайтами, которые дважды...
Я создал файл App.config для хранения URL-адресов вместо того, чтобы жестко запрограммировать их во время моих модульных тестов, поэтому, если URL-адрес изменится, у меня есть только одно место, где мне нужно их изменить. Это мой App.config...
Я создал файл App.config для хранения URL-адресов вместо того, чтобы жестко запрограммировать их во время моих модульных тестов, поэтому, если URL-адрес изменится, у меня есть только одно место, где мне нужно их изменить. Это мой App.config...