【问题标题】:How to get the urls which users enter in browsers in C#?如何获取用户在 C# 浏览器中输入的 url?
【发布时间】:2013-02-02 09:31:54
【问题描述】:

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

感谢大家帮忙解决问题。 实际上我想创建一个 Windows 服务并记录用户使用任何浏览器浏览的所有 url。

【问题讨论】:

  • 哪些浏览器以及您尝试过什么?

标签: c# .net url


【解决方案1】:

我认为FiddlerCore 是创建代理来监控网址的最简单方法

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);
}

【讨论】:

    【解决方案2】:
    1. 您可以创建代理应用程序(任何语言,简单,缺点:您需要配置窗口或浏览器才能使用本地代理)
    2. 您可以挂钩所有应用程序并捕获 winsock 调用(C#、C++、中级、缺点:脏!)
    3. 您可以创建一个 winsock LSP(C++,硬)
    4. 您可以使用嗅探(C#,中级):http://www.codeproject.com/Articles/17031/A-Network-Sniffer-in-C
    5. 使用Sharppcap(C#,中级):http://sourceforge.net/projects/sharppcap/

    【讨论】:

      【解决方案3】:
      1. 您需要从当前上下文到服务来获取请求详细信息

      1. 在生成请求时保存Request.ServerVariables,并在需要时加载数据

      只需浏览服务器变量列表并仅保存所需的变量 http://www.codeproject.com/Articles/2186/A-list-of-Request-Objects-server-variables

      【讨论】:

        猜你喜欢
        • 2012-10-16
        • 2010-10-19
        • 1970-01-01
        • 2011-05-05
        • 2013-07-04
        • 2019-04-24
        • 2021-10-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多