`

解决URLDownloadToFile缓存问题的两种方法

    博客分类:
  • VC
阅读更多

解决URLDownloadToFile缓存问题的两种方法


URLDownloadToFile下载文件前先在本地的缓存中查找此文件

如果缓存有则不会再去网上抓最新的文件,所以我们还要解决URLDownloadToFile缓存的问题。


方法 1:

我们可以对URL进行改动,让它每次访问不同的URL但指向相同的页面,

例如在URL结尾添加一些无意义的参数:"http://www.dtapp.cn?abc=1"

这里的 ?abc=1 可以随机实现,下次下载则改成  ?abc=2 因为URL不同,所以不会在缓存中找到。

最后程序改成:


/********************************************************/

int nRand = time(NULL); // 用时间作为随机数


CString szUrl;

szUrl.Format("http://www.dtapp.cn?abc=%d", nRand); // 生成随机URL


CString szFileName = "C:\\dtapp.txt";


if (S_OK == URLDownloadToFile(NULL, szUrl, szFileName, NULL,NULL)) 

{

  // 下载成功

}

else

{

  // 下载失败

}


方法 2:

使用DeleteUrlCacheEntry清理缓存后再使用URLDownloadToFile下载文件。


/********************************************************/

CString szUrl = "http://www.dtapp.cn";


DeleteUrlCacheEntry (szUrl); // 清理缓存

CString szFileName = "C:\\dtapp.txt";


if (S_OK == URLDownloadToFile(NULL, szUrl, szFileName, NULL,NULL)) 

{

  // 下载成功

}

else

{

  // 下载失败

}

分享到:
评论

相关推荐

    URLDownloadToFile被误杀解决办法

    URLDownloadToFile被误杀解决办法 URLDownloadToFile总是被杀毒软件误报病毒,本人采用的解决办法是:将api声明中的“urlmon”改为“myurlmon”,源码见附件

    使用URLDownloadToFile下载URL文件

    URLDownloadToFile是一个异步的下载方法,它允许在后台线程中执行下载操作,从而不会阻塞应用程序的主界面。这样用户可以继续进行其他操作,提高了用户体验。描述中提到的“使用线程调用”,就是指通过创建一个新的...

    URLDownloadToFile 有进度条 IBindStatusCallback OnProgress

    在Windows编程环境中,有时我们需要实现一个简单的文件下载功能,这时可以使用`URLDownloadToFile` API函数。这个函数是Microsoft的Internet Explorer组件提供的,允许我们从指定的URL直接下载文件到本地磁盘。在这...

    URLDownloadToFile实现文件下载

    5. **进度条显示**:`URLDownloadToFile`函数本身并不提供进度反馈,但可以通过其他方法实现。例如,可以利用`WinInet`库的`InternetSetStatusCallback`函数设置状态回调,或者使用第三方库如`libcurl`,它们通常...

    VB使用URLDownloadToFile下载文件实例

    在VB(Visual Basic)编程中,`URLDownloadToFile`是一个非常实用的API函数,它允许开发者从指定的URL下载文件到本地系统。这个函数属于Windows操作系统内置的`Wininet.dll`库,它提供了网络访问的功能,包括HTTP、...

    URLDownloadToFile,VC++通过URL实现下载

    总之,VC++通过URLDownloadToFile函数实现文件下载是一种便捷的方法,尤其适合小型项目。然而,对于大型文件或需要高级功能(如多线程下载、断点续传)的应用,可能需要考虑使用更强大的下载库或自行编写网络下载...

    利用API URLdownloadtofile 下载文件并显示进度条的例程

    请注意,这个示例没有涉及错误处理和线程安全问题,实际项目中应考虑这些因素以确保程序的健壮性。同时,如果下载文件较大,可能需要考虑分块下载和断点续传功能。此外,Windows的Internet API并不是现代下载管理的...

    http下载器(URLDownloadToFile )

    当`URLDownloadToFile`执行时,它会调用实现了`IBindStatusCallback`接口的对象的方法,传递下载进度、错误信息等。通过实现这个接口,我们可以获取到详细的下载进度信息,进而显示在用户界面上,比如创建进度条或...

    Qt 案例 使用QNetworkReply或URLDownloadToFile下载http资源到本地路径 可执行程序非源码

    Qt 案例 使用QNetworkReply或URLDownloadToFile两种方式下载http资源到本地电脑,同时实现显示资源的下载速度,剩余时间,下载进度,以及暂停下载,停止后重新继续下载等相关功能。用于对比 使用QNetworkReply(Qt)与...

    vb调用URLDownloadToFile Api下载文件实例

    `URLDownloadToFile`的使用方法: 1. 引用库:首先,我们需要在VB项目中引用`Microsoft Internet Controls`库,这通常在工程属性的“引用”选项卡中完成。 2. 函数声明:由于VB默认不包含`URLDownloadToFile`的定义...

    使用URLDownloadToFile函数实现文件下载(带下载进度)

    在Windows编程环境中,URLDownloadToFile函数是一个非常实用的API,用于从互联网上下载文件到本地。这个函数是Microsoft WinINet API的一部分,适用于各种类型的Windows应用程序,包括MFC(Microsoft Foundation ...

    URLDownload_demo.rar_DEMO_URLDownloadToFile_urldownload

    总结,`URLDownloadToFile`是Windows编程中一种便捷的文件下载方法,它适合快速、简单的下载任务。虽然它不直接支持进度显示,但通过结合其他技术,我们可以实现定制化的下载体验。在实际项目中,理解这个函数的工作...

    FileDownLoadThread1.rar_FileDownLoadThread_URLDownloadToFile

    3. URLDownloadToFile的使用方法,包括参数设置和错误处理。 4. 示例代码,展示如何创建FileDownLoadThread实例并开始下载。 5. 可能还包括一些注释和解释,帮助理解代码的工作原理。 总的来说,这个压缩包中的内容...

    VB6制作的远程程序更新程序,使用URLDownloadToFile函数,可以实现进度条显示,建议配合setup factory7使用

    URLDownloadToFile函数下载远程文件,可以实现断点续传,通过progressbar也可以实现进度条显示,下载百分比,下载速度的显示,另外也包含读取,写入ini文件的源码..通过setup factory7的文件打包,实现了通过网络更新本地...

    URLDownloadToFile_visualbasic_

    在VB(Visual Basic)编程环境中,`URLDownloadToFile`函数是一个非常实用的API,用于从互联网上下载文件到本地。这个函数是Windows操作系统内置的一部分,属于Wininet库,因此在VB程序中使用它时需要引入相关引用。...

    能看到下载进度的URLDownloadToFile实例

    这两个方法会在下载过程中被调用,允许你获取并显示下载进度。例如,在`OnProgress`方法中,你可以根据`ulProgress`和`ulProgressMax`参数计算出当前下载的百分比,并更新用户界面。 ```cpp STDMETHODIMP ...

    VC++使用URLDownloadToFile下载文件程序实例

    内容索引:VC/C++源码,网络相关,URLDownloadToFile VC++使用URLDownloadToFile下载文件程序实例,URLDownloadToFile的使用是相当广泛的,不过还是有不少的VC新手朋友对其用法不太了解,通过这个实例 ,希望能帮助你...

    C和MFC巧妙获取外网IP的两种实现方法

    本文以C与MFC的两个实例详述了取外网IP的两种实现方法,具体实现代码如下: MFC语言实现获取外网IP: # include # include # pragma comment(lib,URLMON.lib) void main() { URLDownloadToFile(NULL,...

    类似QQ的拉伸的网页

    这个是一个类似QQ一样,以前的QQ是群和好友的切换是滑动的,这个也是差不多类似的,就是滑动上去然后滑动的下来,很简单但是很有实用性的

Global site tag (gtag.js) - Google Analytics