[LHR]: ファイルを Download する (wget)


Wget は HTTP、FTP 経由でファイルを一括で download するソフトウェアです。現在、GNU License で公開されています。

web page の一括 download 機能として人気があります。私は download 専用プログラムとして重宝しています。Reget のように途中で接続が切れても続きから再 download 出来るんですよ。source が公開されている分、信頼度が高いです。


お勧め

関連情報

Tips


Appendix

Windows 版での make 実践編

Visual C++ による OpenSSL 付き Build (Wget 1.7)

デフォルト状態では OpenSSL サポートでの Build は出来ないようです。少々手を加える必要があります。

Static Library による Build

libeay32.dll、ssleay32.dll を使用しない、Static Library で Build します。この場合、libeay32.lib ssleay32.lib を組み込むことで Wget.exe 単体で SSL をサポートできますが、OpenSSL が minor update した場合には Wget ごと Build し直しになります。一長一短ですな。

  1. OpenSSL を Static Library build します
    OpenSSL は本拠地 [OpenSSL] から取得してきてください。今回(01/09)は最新版の OpenSSL 0.9.6b を使用しました。ちなみに OpenSSL を Build するためには [ActivePerl(ASPN)] もインストールする必要があります。
    「ms\do_ms」 → 「nmake -f ms\nt.mak」を実行します。うまく build 出来ましたか?
    「cd out32」→「..\ms\test」で動作確認出来ます。問題なければ「passed all tests」と表示されるはずです。
  2. OpenSSL に INCLUDE、LIB を通します
    私は面倒くさかったので bat で環境変数に直接記述しちゃいました。
    (ex.)
    INCLUDE=%INCLUDE%;..\..\openssl-0.9.6b\inc32;
    LIB=%LIB%;..\..\openssl-0.9.6b\out32;
  3. Wget のファイルを変更します
    変更した file を rename して ./windows に上書きしてください。詳細は diff で確認してください。
    config.h.ms.010925(config.h.ms)」、「makefile.src.010925(Makefile.src)」
  4. Wget を build します
    「configure --msvc」→「nmake」で OK。
    うまく行けば ./src にデブチンな wget.exe(588KB位) が出来ています。
  5. 動作確認しませう
    HTTPS な page として [NetSecurity] を利用させてもらいました。
    「C:\>wget https://www.netsecurity.ne.jp/」を実行してみた所、Wget with OpenSSL の場合問題なく get 出来ましたが、Wget without OpenSSL の場合には「https://www.netsecurity.ne.jp/: Unknown/unsupported protocol.」と表示され get 出来ませんでした。

    どうやら正しく動作しているようです =)。

Dynamic Library による Build

libeay32.dll、ssleay32.dll を使用する場合の Build 方法です。

  1. OpenSSL を Dynamic Library build します
    「ms\do_ms」 → 「nmake -f ms\ntdll.mak」を実行します。
    うまく build 出来ましたか?
    「cd out32dll」→「..\ms\test」で動作確認出来ます。
  2. OpenSSL に INCLUDE、LIB を通します
    DLL 版の Lib は「out32dll」です。間違わないようにね。
    (ex.)
    INCLUDE=%INCLUDE%;..\..\openssl-0.9.6b\inc32;
    LIB=%LIB%;..\..\openssl-0.9.6b\out32dll;
  3. 後は Static Library と同じ =)
    without OpenSSL と同じ位の大きさの Wget.exe(140KB) が出来ているはずです。当然ですが近場(wget.exe と同じ場所、もしくは $(WINNT)\System32) に libeay32.dll、ssleay32.dll が無いと「DLL が見つかりません」エラーが表示されます。

Borland C++ Compiler 5.5 による Build (Wget 1.6、1.7)

[Borland C++ Compiler 5.5 Practice for Examples Wget] で取り上げています。

Cygwin による Build (Wget 1.7 with OpenSSL)

01/09 現在 Wget 1.6-1 までのサポートだったので Wget 1.7 で build してみました。既に OpenSSL もインストールされている環境下だったのでやることが殆ど無かったです =)。

  1. ./configure --with-ssl=./lib
  2. make install

[Home] → [My Glossary Index] → [[LHR]: ファイルを Download する (wget)]
Copyright (c) 2001-2003 Makoto NARA(Mc.N), All rights reserved.
[Terms of Use]

Valid CSS! Valid HTML 4.01!