【问题标题】:Detect websites url requested from browsers using .Net?使用 .Net 检测从浏览器请求的网站 url?
【发布时间】:2012-02-07 09:10:36
【问题描述】:

我正在编写 Windows 服务,我希望它记录用户从任何浏览器请求的每个网站 url。我正在使用捕获每个 http 数据包的 pcap.net,但我无法将数据包正确映射到网站。谷歌搜索时我找不到任何有用的东西。有什么想法吗?

谢谢

【问题讨论】:

    标签: .net http url proxy network-programming


    【解决方案1】:

    如果您设法获取 HTTP 数据包有效负载,则提取包含 http 动词 + 资源位置的第一行,并且 HTTP 标头 HOST 将提供完整的 url。对于这个页面,它看起来像:

    GET /questions/9173570/detect-websites-url-requested-from-browsers-using-net HTTP/1.1
    Host: stackoverflow.com
    

    【讨论】:

    • 感谢托梅克的回答。我完全按照您所写的从数据包中提取 url,但问题出在其他地方(可能我的问题不清楚)。从浏览器请求此页面会产生与您编写的类似的 http 数据包以及许多其他数据包(例如 GET cdn.sstatic.net/stackoverflow/all.css?v=... HTTP/1.1)。如何将这些“其他”数据包与请求的网站相关联,以便我知道它们是请求 www.stackoverflow.com/questions/... 的结果?我想忽略它们,只记录 www.stackoverflow.com/questions/...
    • 检查另一个HTTP头:Referer,在初始请求中没有referer头。注意 favicon.ico,我注意到它的请求没有引用 heder ether。我想你必须和 Fiddler 一起玩一下才能检查其他“角落案例”。
    猜你喜欢
    • 1970-01-01
    • 2016-10-26
    • 2018-01-11
    • 2012-06-12
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多