1

Web サイトをローカル ディレクトリに再帰的にダウンロードしようとしています。LWPlwp-rgetでこれを行うことができますが、次の問題があります。すべてのファイルを , , などではなく拡張子で保存しています.bin..rpm.xml.html

または任意のタイプを使用しようとしてきました--keepext=application/xmlが、引き続きファイルを として保存します.binlwp-rgetより良いファイル拡張子を使用する方法はありますか? ありがとう。


Daxim のヘルプを使用して修正しました。これで、lwp-rget --keepext=application/octet-stream --hier URLを呼び出すことができ、適切な階層で Web サイトに表示されるすべてのファイルをローカル ディレクトリに再帰的にダウンロードできます。これが同様の問題を抱えている人に役立つことを願っています。みんな、ありがとう。

4

2 に答える 2

1

--keepextオプションにグローバルに影響を与えるには、 .media.typesfileを指定します。

于 2012-07-09T20:05:04.007 に答える
1

使用するかどうかにかかわら--keepextず、サーバーから返される MIME タイプによって、使用する拡張子lwp-rgetが決定されます。したがって、これをデバッグするために最初にすべきことは、返された MIME タイプを特定することです。これは、

lwp-request -ed http://... | grep -oP 'Content-Type: \K.*'

URL の拡張子を使用する場合lwp-rgetは、この MIME タイプを で指定する必要があります--keepext

そうでない場合、はLWP::MediaTypeslwp-rgetを呼び出して、使用する拡張機能を決定します。例えば、media_suffix

  • .xmlに使用されますapplication/xml
  • .htmlに使用されますtext/html
  • .binに使用されますapplication/octet-stream
于 2012-07-09T21:17:33.910 に答える