如何防止URLDownloadToFile从缓存中检索?
时间:2020-03-05 18:56:46 来源:igfitidea点击:
我正在使用URLDownloadToFile从网站检索文件。后续调用返回原始文件,而不是更新的版本。我假设它正在检索缓存的版本。
解决方案
回答
在调用URLDownloadToFile之前,请使用相同的URL调用DeleteUrlCacheEntry。
我们将需要针对Wininet.lib进行链接
回答
我们能否在URL的末尾添加一个无害的查询参数?
https://stackoverflow.com/?CacheBuster=1020am
回答
是的,默认情况下,它正在提取文件的缓存版本。为了完全避免缓存文件,请在lpfnCB中传递IBindStatusCallback对象
URLDownloadToFile()的参数。在通过grfBINDF参数返回的值中,在已实现的IBindStatusCallback :: GetBindInfo()方法中,包括BINDF_GETNEWESTVERSION标志,以及可选的BINDF_NOWRITECACHE标志。如果要更新缓存文件(如果存在)而不是skippe,请改为指定BINDF_RESYNCHRONIZE标志。