Titanium Web 代理:如何仅针对一个特定域运行它

问题描述

我尝试了 Titanium C# Web Prox,我对它非常满意。 唯一的一点是要知道如何配置 Web 代理以仅处理与特定域相关的 Web 流量,比如说 contoso.org。 实际上,创建此自定义 Web 代理只是为了管理到该域的相关流量,而不必处理来自其他域的 Web 请求。

我看到一个 ExplicitEndpoint 已配置并应用于 Windows Internet 选项上的 SystemHttpsProxy,但我没有找到任何仅将其应用于我的域 contoso.org 的选项

  1. 有没有办法通过 Titanium 库上的 C# 配置来配置这种行为?
  2. 如果 C# 不可能,也许是另一种方式?我试图在 Internet Options 上处理 PAC 文件,但似乎不起作用,也许我做错了。或任何其他解决方案?

非常感谢。

解决方法

如果我理解你想要捕获特定域的流量。你可以试试这个:

explicitEndPoint = new ExplicitProxyEndPoint(IPAddress.Any,8000,true);
explicitEndPoint.BeforeTunnelConnectRequest += ExplicitEndPoint_BeforeTunnelConnectRequest;
proxyServer.AddEndPoint(explicitEndPoint);            

private Task ExplicitEndPoint_BeforeTunnelConnectRequest(object sender,TunnelConnectSessionEventArgs e)
{
     var hostName = e.HttpClient.Request.RequestUri.Host;
     if (!hostName.Contains("contoso.org"))
     {
        e.DecryptSsl = false;
     }

     return Task.CompletedTask;
}