0

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

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

4

3 回答 3

1

我认为 FiddlerCore是创建代理来监控 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);
}
于 2013-02-02T17:36:08.137 回答
0
  1. 您可以创建代理应用程序(任何语言,简单,缺点:您需要配置窗口或浏览器才能使用本地代理)
  2. 您可以连接到所有应用程序并捕获 winsock 调用(C#、C++、中级、缺点:脏!)
  3. 您可以创建一个 winsock LSP (C++, Hard)
  4. 您可以使用嗅探(C#,中级): http: //www.codeproject.com/Articles/17031/A-Network-Sniffer-in-C
  5. 使用Sharppcap(C#,中级):http: //sourceforge.net/projects/sharppcap/
于 2013-02-02T09:41:30.643 回答
-1
  1. 您需要服务的当前上下文以获取请求详细信息

或者

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

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

于 2013-02-02T09:42:33.897 回答