如何用FiddleCore捕获SSL GET请求

本文关键字:GET 请求 SSL 捕获 何用 FiddleCore | 更新日期: 2023-09-27 18:12:58

我试图为每个请求获得完整的HTTPS url。到目前为止,我只得到一个带有域url

的CONNECT请求

如何获得完整的URL请求?

这是我到目前为止的代码

Fiddler.FiddlerApplication.BeforeRequest += FiddlerApplication_BeforeRequest;
Fiddler.FiddlerApplication.BeforeResponse += FiddlerApplication_BeforeResponse;

if (!Fiddler.CertMaker.rootCertExists())
{
   if (!Fiddler.CertMaker.createRootCert())
   {
       throw new Exception("Unable to create cert for FiddlerCore.");
   }
}
if (!Fiddler.CertMaker.rootCertIsTrusted())
{
   if (!Fiddler.CertMaker.trustRootCert())
   {
      throw new Exception("Unable to install FiddlerCore's cert.");
   }
}
Fiddler.FiddlerApplication.Startup(0,
            FiddlerCoreStartupFlags.Default |
            FiddlerCoreStartupFlags.AllowRemoteClients |
            FiddlerCoreStartupFlags.DecryptSSL |
            FiddlerCoreStartupFlags.MonitorAllConnections |
            FiddlerCoreStartupFlags.RegisterAsSystemProxy |
            FiddlerCoreStartupFlags.ChainToUpstreamGateway |
            FiddlerCoreStartupFlags.CaptureLocalhostTraffic);

void FiddlerApplication_BeforeResponse(Session oSession)
{
        if (oSession.uriContains("youtube"))
        {
            Console.WriteLine(Osession.fullUrl());
        }
}
void FiddlerApplication_BeforeRequest(Session oSession)
{
        if (oSession.uriContains("youtube"))
        {
            Console.WriteLine(Osession.fullUrl());
            oSession.bBufferResponse = true;
        }
}

与浏览器帮助我试图达到https://www.youtube.com/watch?v=v-gzrWQO7VI URL。小提琴手能抓住它吗?

万分感谢。了

如何用FiddleCore捕获SSL GET请求

当然,Fiddler可以捕捉到这一点。如果您只看到CONNECT,这意味着客户端不相信Fiddler的证书。你应该放回记录通知和错误的代码行;我猜你会看到一个注意到makecert.exe不在它所属的位置。

上面的代码将无法编译,因为OSessionoSession不相同。