关于URLDownloadToFile

xharry 2005-12-15 07:00:22
我在一个程序中用URLDownloadToFile去下载 RSS,大概每5分钟一次

我发现如果一次下载失败,以后就再也不会成功了,把程序关掉,重新打开就可以了,为什么???

我把 URLDownloadToFile 放到一个线程中的。

----------------------

另:直接读取web页面用什么方法比较好???
...全文
282 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xharry 2005-12-16
  • 打赏
  • 举报
回复
有哪位做过从web上抓取东西的,给个建议:)
xharry 2005-12-16
  • 打赏
  • 举报
回复
我的线程是AfxBeginThread(FetchRSS, (LPVOID)this);发起的,因为这个线程一直就没有退出来,所以,应该和线程是否关闭无关。

我现在用的就是CInternetSession来做的,目前还在测试中,不知道是否也会出现问题
walkline 2005-12-16
  • 打赏
  • 举报
回复
用MFC的类库cinternetsession chttpconnection下载XML这样的文本文件应该没有问题!
duyhui 2005-12-16
  • 打赏
  • 举报
回复
应该不是URLDownloadToFile引起的
你的线程是怎么创建的?
要是CreateThread()的话,别忘了CloseHandle()
xharry 2005-12-16
  • 打赏
  • 举报
回复
BOOL CRSS::DownloadRSS()
{
HRESULT hRet;
hRet = URLDownloadToFile(NULL, m_strRSSUrl, m_strTempFile, NULL, NULL);

return !hRet;
}

我就是这么做的,如果能正常的下载,则hRet为0

这里有什么需要释放的句柄????
mme 2005-12-16
  • 打赏
  • 举报
回复
URLDownloadToFile会自动帮你把数据缓存起来的,不过不应该导致这样的问题!

你看看是不是没有释放某个句柄,导致调用失败

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧