捕获HTTP请求

时间:2009-02-10 15:17:52

标签: c# http

有没有办法使用C#监视和捕获来自计算机的所有传出HTTP请求?

我需要一种独立于浏览器的方式来记录访问过的URL。

6 个答案:

答案 0 :(得分:9)

我使用fiddler(http://www.fiddler2.com

答案 1 :(得分:8)

您可能希望使用捕获pcap或winpcap等库的现有网络接口来执行此操作。 自己重写所有必要的东西会花费很多时间。

链接到Pcap

链接到WinPcap

编辑:刚看到有人也写了C#绑定到winpcap:SharpPcap

答案 2 :(得分:5)

听起来像是在经历某种“数据包嗅探”工具之后。

以下是使用C#编写的用于数据包嗅探器(带有可下载源代码)的Code Project站点上的文章的几个链接:

Packet Capture and Analayzer

A Network Sniffer in C#

如果您刚刚捕获了访问过的URL,这些实用程序可能过度,但是,您将能够从HTTP数据包中提取URL并丢弃其余的URL,但是,您可能还希望捕获所有数据包信息在这种情况下,这些实用程序将有所帮助。

答案 3 :(得分:3)

您可能会通过某种代理设置节省大量时间和精力。一个不错的本地机器解决方案是Fiddler(需要Windows),或类似于Squid服务器的网络解决方案。

答案 4 :(得分:2)

我希望Wirehark适合你。 它是免费的跨平台。 也, “Wireshark是世界上最重要的网络协议分析仪,并且是许多行业和教育机构的事实上(通常是法律上的)标准”

看看, Wireshark-Wikipedia

答案 5 :(得分:-2)

此外,在C#中为此目的编写一个简单的http代理是一项微不足道的任务。

相关问题