0

私はwininet(と呼ばれるnsisプラグインでinetc)ファイルをダウンロードするために使用します。

URLで使用されているのと同じファイル名でファイルを保存したいのですが、たとえばhttp://some.domain.com/myfile.docとして保存する必要がありますmyfile.doc。問題は、リダイレクトのあるURLがある場合です。たとえば、 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 に答える