C# 避免使用HttpWebRequest获取缓存的网站版本
我需要解析一个定期在上面发布新闻的网站,但是我经常会得到旧的缓存版本 我正在使用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标头 这一切都无济于事。最有可能的网站运行一些缓存服务,防止我获得最新版本的实时。附近有工作吗
我在不同地区的不同机器上运行这个解析器,它将以0-3分钟的延迟返回网站的新版本。一台机器可以比另一台机器提前2分钟获得新版本。所有机器每秒都在查询网站。因此,我确信有一些缓存正在进行。
HttpWebRequest
默认情况下不会缓存任何内容。显示代码。“使用缓存”的答案是304未修改
。你可能会收到200英镑。您能告诉我,您是如何确定使用了缓存的,以及它在常规浏览器中是如何工作的吗。您可能会提供指向该站点的真实链接来重现该问题。[HttpWebRequest].Headers.Add(HttpRequestHeader.CacheControl,“无缓存”)代码>。同时添加[HttpWebRequest].Headers.add(“DNT”,“1”)
如果需要设置UserAgent
属性。@Jimi很有趣,DNT
在这里有什么帮助?以及它与用户代理的关系如何?@aepot更新了描述,thanks@Jimi你能澄清一下DNT能帮什么忙吗?谢谢