0

我使用wininet(使用名为 的 nsis 插件inetc)下载文件。

我想用 url 中使用的相同文件名保存文件,例如http://some.domain.com/myfile.doc应该保存为myfile.doc. 问题是当我有一个带有重定向的网址时。例如,我可以获得 http://some.domain.com/哪些重定向到http://some.domain.com/myfile.doc,并且我想将其保存为myfile.doc.

我该如何解决这个问题?

4

1 回答 1

1

INetC 并没有真正设计为支持这一点,但我想您可以INetC::head循环调用并解析返回的标头,直到它不再是重定向...

编辑:

由于 INetC 仅设计用于处理由调用者命名的文件,因此它仅依赖于高级 WinInet 默认处理。

虽然可以修改 INetC 或创建新插件,但让服务器完成工作可能会减少工作量。它可以返回 INetC::head 可以下载的 content-disposition 标头或像 server.com/?getname 这样的特殊 URL,它只返回名称,因此您首先使用 INetC::get 获取名称,然后执行真正的 INetC::获取正确的目标文件名...

于 2012-11-08T17:06:20.710 回答