使用 WinInet 的方法迭代缓存文件时,如何跳过大文件?

     2023-02-16     242

关键词:

【中文标题】使用 WinInet 的方法迭代缓存文件时,如何跳过大文件?【英文标题】:When iterating cache files using WinInet's methods, how can I skip large files? 【发布时间】:2010-09-21 05:30:34 【问题描述】:

我的程序的一部分使用了 WinInet 的缓存功能(例如 FindFirstUrlCacheEntry、FindNextUrlCacheEntry)来遍历系统缓存并删除满足某些条件的文件。

问题在于,当在缓存中找到一个大文件时,FindNextUrlCacheEntry 失败并显示 ERROR_INSUFFICIENT_BUFFER,并请求继续使用不合理的缓冲区大小(超过 10MB),而我未能在该系统上分配。

我需要一种方法: - 跳过大文件(不知何故进入下一个条目) - 在不分配大缓冲区的情况下获取大文件的缓存条目

我注意到“检索”缓存功能,但它们都需要 URL - 我什至无法获取我的条目的 URL...

有什么建议吗?

谢谢, 圭浦

【问题讨论】:

【参考方案1】:

原来这是我的错误,WinInet 实际上并没有尝试读取完整文件。 不过,跳过文件的方法可能很有用...

【讨论】:

如何以编程方式清除 MSIE/WinInet 缓存?

】如何以编程方式清除MSIE/WinInet缓存?【英文标题】:HowtoclearMSIE/WinInetcacheprogrammatically?【发布时间】:2009-05-0514:33:55【问题描述】:我正在尝试使用Win32API清除WinInet缓存-通过使缓存条目无效或删除它们(没关系)。我找不到对... 查看详情

使用 Wininet 上传文件时如何添加正确的 Content-Type? (HTTP 放置)

】使用Wininet上传文件时如何添加正确的Content-Type?(HTTP放置)【英文标题】:HowtoaddcorrectContent-TypewhenuploadingfilewithWininet?(HTTPPUT)【发布时间】:2015-09-3004:17:02【问题描述】:我正在将带有Wininet的文件上传到带有HTTPPUT的Sharepoint... 查看详情

Wininet 缓存包装器

】Wininet缓存包装器【英文标题】:WininetCachingWrapper【发布时间】:2010-11-0317:34:53【问题描述】:我正在寻找一个wininet缓存api包装器,它允许我在每个应用程序实例的基础上管理基于InternetExplorer的应用程序的缓存(cookie和缓存文... 查看详情

使用“wininet”和“windows.h”时如何解决“IServiceProvider”不明确?

】使用“wininet”和“windows.h”时如何解决“IServiceProvider”不明确?【英文标题】:Howtosolve"IServiceProvider"isambiguouswhenusing"wininet"and"windows.h"?【发布时间】:2020-12-2315:34:33【问题描述】:我正在尝试使用wininet... 查看详情

为 WININET HTTP 请求使用特定的网络接口

】为WININETHTTP请求使用特定的网络接口【英文标题】:UsingaspecificnetworkinterfaceforaWININETHTTPrequest【发布时间】:2010-06-1707:28:26【问题描述】:在将WININET接口用于传出HTTP请求时,是否可以指定使用哪个本地网络接口?我知道如何使... 查看详情

如何中止使用 wininet 发送的请求?

】如何中止使用wininet发送的请求?【英文标题】:HowcanIabortarequestsentusingwininet?【发布时间】:2013-09-3008:43:29【问题描述】:我有一个MFC应用程序,用于向相应的服务器发送一个发布请求。这是一个http请求,用于上传文件。但是... 查看详情

以编程方式清除 WinInet DNS 缓存

】以编程方式清除WinInetDNS缓存【英文标题】:ClearWinInetDNScacheprogrammatically【发布时间】:2012-05-1705:09:49【问题描述】:WinINet库缓存通过它访问的任何URL的IP地址。因此,当该URL的IP地址发生更改时,WinInet库的HttpSendRequest也会转... 查看详情

使用 Wininet 下载二进制文件

】使用Wininet下载二进制文件【英文标题】:DownloadingBinaryFilesWithWininet【发布时间】:2011-08-0517:14:02【问题描述】:我目前正在编写一个简单的程序,我想分发给我的朋友。我想要完成的是在启动程序时将一些外部二进制文件从... 查看详情

Delphi用WinInet用用户名和密码下载文件

】Delphi用WinInet用用户名和密码下载文件【英文标题】:DelphiDownloadFilewithWinInetwithUserNameandPassword【发布时间】:2015-02-0222:48:52【问题描述】:有很多关于如何使用WinInet下载文件的文章(我从那里获得代码),但它们似乎都较旧和... 查看详情

如何在 C++ 中使用 wininet 创建 POST 请求

】如何在C++中使用wininet创建POST请求【英文标题】:HowtocreateaPOSTrequestwithwininetinC++【发布时间】:2019-12-3020:54:17【问题描述】:我的C++代码的目标是将HTTPPOST内容发送到PHP页面,该页面会将内容写入文件。我使用Postman请求测试了... 查看详情

如何使用winsock或wininet下载文件[关闭]

】如何使用winsock或wininet下载文件[关闭]【英文标题】:Howtodownloadafileusingwinsockorwininet[closed]【发布时间】:2013-07-2613:16:45【问题描述】:我无法使用Google找到任何代码示例。有人可以告诉我怎么做吗?我认为我们需要使用winsock... 查看详情

如何使用 wininet 强制执行 tls 1.x

】如何使用wininet强制执行tls1.x【英文标题】:Howtoenforcetls1.xusingwininet【发布时间】:2014-12-2123:15:21【问题描述】:我在我的应用程序中使用wininet库,后来发现sslv3喜欢贵宾犬,一些网站将其关闭,并且我的应用程序无法在某些PC... 查看详情

在delphi上使用WININET上传文件

】在delphi上使用WININET上传文件【英文标题】:UploadingafilewithWININETondelphi【发布时间】:2015-11-0314:53:49【问题描述】:我有一个delphiwininet应用程序。上周我尝试发送信息以执行JSON方法,这周我尝试将文件上传到Web服务器。我正在... 查看详情

如何跳过“foreach”循环的迭代?

...时间】:2010-10-1320:06:24【问题描述】:在Perl中,我可以使用next;命令跳过foreach(或任何循环)迭代。有没有办法跳过一个迭代并跳转到C#中的下一个循环?foreach(intnumberinnumbers)if(number<0)//Whatgoesheretosk 查看详情

如何跳过循环中的迭代?

...前迭代的其余部分?【问题讨论】:看不到接受的答案(使用continue)如何捕获异常,但它被接受了。因 查看详情

如何跳过循环中的迭代?

...前迭代的其余部分?【问题讨论】:看不到接受的答案(使用continue)如何捕获异常,但它被接受了。因 查看详情

使用 wininet.dll api 从 FTP 站点搜索和检索文件名

】使用wininet.dllapi从FTP站点搜索和检索文件名【英文标题】:Searching&retrievingfilenamesfromanFTPsiteusingwininet.dllapi【发布时间】:2009-12-1019:57:26【问题描述】:我一直在尝试使用wininet.dllapi来搜索ftp站点以查找匹配的文件,但由于某... 查看详情

使用scrapy爬行时如何跳过某些文件类型?

】使用scrapy爬行时如何跳过某些文件类型?【英文标题】:howtoskipsomefiletypewhilecrawlingwithscrapy?【发布时间】:2012-08-2120:25:54【问题描述】:我想在使用scrapy爬行时跳过一些文件类型链接.exe.zip.pdf,但不想使用带有特定url常规的规... 查看详情