C# 避免使用HttpWebRequest获取缓存的网站版本

C# 避免使用HttpWebRequest获取缓存的网站版本,c#,parsing,caching,httpwebrequest,browser-cache,C#,Parsing,Caching,Httpwebrequest,Browser Cache,我需要解析一个定期在上面发布新闻的网站,但是我经常会得到旧的缓存版本 我正在使用HttpWebRequest并尝试 在url末尾追加“?dummy=345” NativeMethods.DeleteUrlCacheEntry(请求URL) 正在设置HttpRequestCacheLevel.NoCacheNoStore缓存策略 设置CacheControl、Pragma、IfModifiedSince标头 这一切都无济于事。最有可能的网站运行一些缓存服务,防止我获得最新版本的实时。附近有工作吗

我需要解析一个定期在上面发布新闻的网站,但是我经常会得到旧的缓存版本

我正在使用HttpWebRequest并尝试

  • 在url末尾追加“?dummy=345”
  • NativeMethods.DeleteUrlCacheEntry(请求URL)
  • 正在设置HttpRequestCacheLevel.NoCacheNoStore缓存策略
  • 设置CacheControl、Pragma、IfModifiedSince标头
  • 这一切都无济于事。最有可能的网站运行一些缓存服务,防止我获得最新版本的实时。附近有工作吗


    我在不同地区的不同机器上运行这个解析器,它将以0-3分钟的延迟返回网站的新版本。一台机器可以比另一台机器提前2分钟获得新版本。所有机器每秒都在查询网站。因此,我确信有一些缓存正在进行。

    HttpWebRequest
    默认情况下不会缓存任何内容。显示代码。“使用缓存”的答案是
    304未修改
    。你可能会收到200英镑。您能告诉我,您是如何确定使用了缓存的,以及它在常规浏览器中是如何工作的吗。您可能会提供指向该站点的真实链接来重现该问题。
    [HttpWebRequest].Headers.Add(HttpRequestHeader.CacheControl,“无缓存”)。同时添加
    [HttpWebRequest].Headers.add(“DNT”,“1”)
    如果需要设置
    UserAgent
    属性。@Jimi很有趣,
    DNT
    在这里有什么帮助?以及它与
    用户代理的关系如何?@aepot更新了描述,thanks@Jimi你能澄清一下DNT能帮什么忙吗?谢谢