我使用wininet
(带有名为inetc
的nsis插件)来下载文件。
我想使用网址中使用的相同文件名保存文件,例如http://some.domain.com/myfile.doc
应保存为myfile.doc
。问题是我有一个重定向的URL。例如,我可以将http://some.domain.com/
重定向到http://some.domain.com/myfile.doc
,我想将其保存为myfile.doc
。
我该如何解决这个问题?
答案 0 :(得分:1)
INetC实际上并不是为支持它而设计的,但我猜你可以在循环中调用INetC::head
并解析返回的标题,直到它不再是重定向...
修改强>
由于INetC仅用于处理调用者命名的文件,因此它只依赖于高级WinInet默认处理。
虽然可以修改INetC或创建新插件,但让服务器完成工作可能不那么重要。它可以返回INetC :: head可以下载的内容处置标头或者只返回名称的server.com/?getname之类的特殊URL,这样你首先用INetC :: get获取名称,然后执行真正的INetC ::获取正确的目标文件名...