没有正确下载文件

Not downloading a file correctly

本文关键字:下载 文件      更新时间:2023-10-16

我使用下面的行来下载文件,当我这样做时,它没有下载最新的文件。

HRESULT hr = URLDownloadToFile(NULL, _T("http://example.com/users.txt"), _T("users.txt"), 0, NULL);

在第一次运行时,users.txt里面有3个名字,如果你要删除一个名字,然后再运行它,它仍然下载3个名字。

我使用remove("users.txt);在下载之前删除文件。

这可能是操作系统特定的,或者至少你需要一个HTTP客户端库。

您需要阅读更多关于HTTP协议的内容。你问题的提法使我相信你对它了解不多。

在某些操作系统上(特别是Linux和POSIX兼容的操作系统),您可以使用libcurl(这是一个很好的HTTP客户端免费软件库)

URLDownloadToFile似乎是Windows特有的东西。你仔细读过它的文件了吗?它返回一些错误代码。你正确处理hr吗?

你可能只能得到什么HTTP协议(从web服务器的响应,为GET HTTP请求)给你。大多数情况下,URL内容的MIME类型、内容大小和内容字节(等等)……包括内容编码等)。内容有3个名字的事实是你对它的理解。

试着阅读更多关于HTTP协议的内容,并了解到底发生了什么。是否涉及任何cookie或会话?您是否尝试使用telnet之类的方法手动进行HTTP交换?你能表现出来并理解它吗?HTTP响应码是什么?

如果您可以访问服务器(例如使用ssh)并且能够查看日志文件,请尝试了解发生了什么交换以及发送回的HTTP状态(即错误代码)。也许可以在本地设置一些Linux机器进行初始测试。或者在本地设置一些HTTP服务器,使用http://localhost/等…