如何获取用户在C#浏览器中输入的URL?

如何获取用户在C#浏览器中输入的URL?,c#,.net,url,C#,.net,Url,我想捕获用户通过在C#中创建的Windows服务访问的URL 谢谢大家帮忙做什么。 实际上,我想创建一个windows服务并记录用户使用任何浏览器浏览的所有URL 您可以创建代理应用程序(任何语言,简单,缺点:您需要配置windows或浏览器才能使用本地代理) 你可以钩住所有的应用程序,捕获Winsock调用(C,C++,中间,CON:脏!) 您可以创建winsock LSP(C++,硬) 您可以使用嗅探(C#,中间): 使用sharppcap(C#,中间): 您需要将当前上下文添加到服务以获取

我想捕获用户通过在C#中创建的Windows服务访问的URL

谢谢大家帮忙做什么。 实际上,我想创建一个windows服务并记录用户使用任何浏览器浏览的所有URL

  • 您可以创建代理应用程序(任何语言,简单,缺点:您需要配置windows或浏览器才能使用本地代理)
  • 你可以钩住所有的应用程序,捕获Winsock调用(C,C++,中间,CON:脏!)
  • 您可以创建winsock LSP(C++,硬)
  • 您可以使用嗅探(C#,中间):
  • 使用sharppcap(C#,中间):
  • 您需要将当前上下文添加到服务以获取请求详细信息
  • 生成请求时保存
    Request.ServerVariables
    ,需要时加载数据

  • 只需浏览服务器变量列表,只保存所需的变量

    我认为创建代理来监视URL是最简单的方法

    static void Main(string[] args)
    {
        Fiddler.FiddlerApplication.BeforeRequest += sessionState =>
            {
                Console.WriteLine("URL={0}", sessionState.fullUrl);
            };
    
        Fiddler.FiddlerApplication.Startup(8888, true, true);
    
        Console.ReadLine();
    
        Fiddler.FiddlerApplication.Shutdown();
    
        System.Threading.Thread.Sleep(750);
    }
    
    您使用了哪些浏览器以及哪些浏览器?