.NET Core(C#)使用Titanium.Web.Proxy实现Http(s)代理服务器监控HTTP请求 ...

宁睿  金牌会员 | 2023-6-19 18:25:37 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 817|帖子 817|积分 2461

关于Titanium.Web.Proxy详细信息可以去这里仔细看看,这里只记录简单用法
安装引用Titanium.Web.Proxy

NuGet直接获取Titanium.Web.Proxy
使用


  • 配置
与其说是配置,不如就说这一部分就是未来你需要使用的部分,想知道具体每个部分是干什么的就去看原文链接全放过来太占地方
  1. var proxyServer = new ProxyServer();
  2. proxyServer.CertificateManager.CertificateEngine = Titanium.Web.Proxy.Network.CertificateEngine.DefaultWindows;
  3. proxyServer.CertificateManager.EnsureRootCertificate();
  4. proxyServer.BeforeResponse += OnResponse;
  5. proxyServer.ServerCertificateValidationCallback += OnCertificateValidation;
  6. proxyServer.ClientCertificateSelectionCallback += OnCertificateSelection;
  7. var explicitEndPoint = new ExplicitProxyEndPoint(IPAddress.Any, 8000, true){ };
  8. explicitEndPoint.BeforeTunnelConnect += OnBeforeTunnelConnect;
  9. proxyServer.AddEndPoint(explicitEndPoint);
  10. proxyServer.Start();
  11. proxyServer.SetAsSystemHttpProxy(explicitEndPoint);
  12. proxyServer.SetAsSystemHttpsProxy(explicitEndPoint);
  13. Console.Read();
复制代码
最后的Console.Read();是一个等待函数,你可以写一个其他函数代替或是直接不用,比如说一个鼠标点击事件或是等待时间啥的。
这部分配置就写进一个函数体中,到时想在哪里用代理就调用这个函数便可。

  • 响应事件处理
  1. private async Task OnBeforeTunnelConnectRequest(object sender, TunnelConnectSessionEventArgs e)
  2. {
  3.     await Task.Run(() =>
  4.     {
  5.             
  6.     });
  7. }
复制代码
这部分是接收到链接请求时需要做的事情就是个事件,想做什么就写在这个地方写,没有想做的就干脆直接不要。

事件问题去网上自己去学
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宁睿

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表