有没有办法使用C#监视和捕获来自计算机的所有传出HTTP请求?
我需要一种独立于浏览器的方式来记录访问过的URL。
答案 0 :(得分:9)
我使用fiddler(http://www.fiddler2.com)
答案 1 :(得分:8)
您可能希望使用捕获pcap或winpcap等库的现有网络接口来执行此操作。 自己重写所有必要的东西会花费很多时间。
链接到Pcap
链接到WinPcap
编辑:刚看到有人也写了C#绑定到winpcap:SharpPcap
答案 2 :(得分:5)
听起来像是在经历某种“数据包嗅探”工具之后。
以下是使用C#编写的用于数据包嗅探器(带有可下载源代码)的Code Project站点上的文章的几个链接:
如果您刚刚捕获了访问过的URL,这些实用程序可能过度,但是,您将能够从HTTP数据包中提取URL并丢弃其余的URL,但是,您可能还希望捕获所有数据包信息在这种情况下,这些实用程序将有所帮助。
答案 3 :(得分:3)
答案 4 :(得分:2)
我希望Wirehark适合你。 它是免费的跨平台。 也, “Wireshark是世界上最重要的网络协议分析仪,并且是许多行业和教育机构的事实上(通常是法律上的)标准”
答案 5 :(得分:-2)
此外,在C#中为此目的编写一个简单的http代理是一项微不足道的任务。