‘-k’との組み合わせは,単一のドキュメントだけに限定されています.
‘-N’,‘-nc’,または‘-r’を用いずにWgetを実行するとき,同
じディレクトリにダウンロードされる同じファイルは,オリジナルがそのまま
fileのコピーとなり,二番目のコピーは‘file.1’と命名され
ます.ファイルが再びダウンロードされた場合は,三番目のコピーは
‘file.2’となり,以下同様になります.‘-nc’が指定された場
合はこの動作が抑制され,Wgetはより新しい‘file’のコピーのダウ
ンロードを拒否します.このため,“no-clobber
”は実際にこのモード
の間違った名称です—(数字の接尾子で既に破壊を妨げているので)それは破壊
を妨げるのではなく,むしろ保存の複数のバージョンを持たないということで
す.
‘-r’を用い,‘-N’や‘-nc’を用いずにWgetを実行したとき,ファ イルの再度のダウンロードは,古いものを単純に新しいコピーで上書きします. ‘-nc’を加えた場合はこの動作は妨げられ,オリジナルのバージョン保存 し,サーバ上のあらゆるより新しいコピーを無視します.
‘-N’を用い,‘-r’を用いるまたは用いないで,Wgetを実行するとき, ローカルとリモートのファイルのタイムスタンプとサイズに依存して,より新 しいファイルのダウンロードを実行するかどうかを決定します (see Time-Stamping).‘-nc’は‘-N’と同時に指定できません.
‘-nc’が指定されている場合,‘.html’または‘.htm’の接尾子を 持つファイルは,Webから回収されているかのようにローカルディスクからロー ドされて解析されることに注意して下さい.
wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z
現在のディレクトリにls-lR.Zという名前のファイルがある場合,Wget は,それがリモートファイルの最初の位置だと考え,ローカルファイルと同じ 長さのオフセットから回収を続けるようサーバに依頼します.
接続が中断されたファイルのダウンロードを再試行するために,現在のWget呼 び出しを行いたいだけの場合は,このオプションを指定する必要がないことに 注意してください.これはデフォルトの動作です.‘-c’は,Wgetの今回の 呼び出しの前に開始したダウンロードの再開で,そのローカルファイル がまだ完全ではないものにのみに効果があります.
‘-c’を用いない場合,前の例では,リモートファイルを ls-lR.Z.1 にダウンロードし,途中で切られたls-lR.Zファイル はそのまま残ります.
Wget 1.7以降を用いて‘-c’を空でないファイルで使用する場合,サーバが 継続ダウンロードをサポートしていないことが判明した場合は,Wgetは最初か らのダウンロードの開始を拒否するので,その影響で既存の内容がだめになり ます.本当に最初からダウンロードを開始したい場合は,ファイルを削除して ください.
また,Wget 1.7以降を用いて‘-c’をサーバのファイルと同じ大きさでない ファイルで使用する場合,Wgetはファイルのダウンロードを拒否し,そのこと を説明メッセージを出力します.サーバのファイルがローカルのものより小さ いときも同じことが生じます—“続けること”に意味がなく,ダウンロードを 行わないためです.
反対に,‘-c’を使用しているときは,ローカルより大きいサーバのファイ
ルは不完全なダウンロードとみなされ,((リモートの)長さ - (ローカル
の)長さ)
バイトのみダウンロードされ,ローカルファイルの終りにくっつけら
れます.この動作は場合によっては望ましくないものです—例えば,データコ
レクションやログファイルに追加された新しい部分をダウンロードするために,
‘wget -c’を使用することが可能です.
しかし,ファイルが,追加されているのではなく,変更されて いてサーバのものより大きい場合,おかしなファイルになります.Wgetには, ローカルのファイルがリモートファイルの前段が本当に有効だということを検 証する方法がありません.‘-r’と組合せて‘-c’を使用するとき,す べてのファイルが"不完全なダウンロード"の候補と考慮されるので,このこと に特に注意する必要があります.
‘-c’を使用してみた場合におかしなファイルを得るもう一つの例は,ロー カルファイルに“transfer interrupted”文字列を挿入する,不完全な httpプロキシを使用している場合です.将来は,“rollback”オプション がこの状況を扱うために追加されるかもしれません.
‘-c’は,ftpサーバとRange
ヘッダをサポートするhttp
サーバのみで動作することに注意してください.
“バー”の表示がデフォルトで使用されます.それは,回収の状態を表示する ためasciiのプログレスバー表示(別名“温度計”の表示)を描画します. 出力がTTYではない場合,“ドット”のバーがデフォルトで使用されます.
“ドット”表示に切替えるためには‘--progress=dot’を使用してください. それは,画面上にドットを出力することで回収を追跡し,それぞれのドットは ダウンロードされたデータの固定量を表現しています.
ドットでの回収を使用している時,‘dot:style’のような形式で
スタイル(style)を指定することもできます.異なるスタイルは一つのドッ
トに異なる意味を割り当てます.default
スタイルでは,それぞれのドッ
トは1Kを表現し,1クラスタに10ドットがあり,一行に50ドットあります.
binary
スタイルでは,より“コンピュータ”ライクの方針になっていま
す—ドットは8K,クラスタは16ドット,そして一行は48ドットになります(一
行が384Kです).mega
スタイルは非常に大きなファイルのダウンロード
に適しています—それぞれのドットは64Kの回収を表現していて,1クラスタに
8ドットあり,それぞれの行には48ドットになります(そのため,それぞれの行
は3M含まれています).
.wgetrcのprogress
コマンドで,デフォルトの形式を設定するこ
とが可能であることに注意して下さい.その設定は,コマンドラインで上書き
されるかもしれません.例外として,出力がTTYではないとき,“ドット” の
プログレスバーが“バー”に優先されます.バーの表示を強制したい場合は
‘--progress=bar:force’を使用してください.
wget --spider --force-html -i bookmarks.html
この機能には,Wgetを真のウェブスパイダーの能力に近づけるため,非常に多 くの仕事がさらに必要です.
ネットワークとの通信時に,タイムアウトを調査し,時間が超過した場合は処 理を中止します.これで,中途半端な読み込みや無限接続を避けることになり ます.デフォルトで利用可能なタイムアウトは,読み込みのタイムアウトの 900秒だけです.タイムアウトを0に設定することで,タイムアウトの調査を完 全に利用不可能にします.何を行っているか分からない場合,タイムアウトに 関連するオプションを設定しないのが最善でしょう.
タイムアウトに関聯するすべてのオプションは,10進数の値を受け入れ,小数 の値も同様に受け入れます.例えば,‘0.1’秒は,タイムアウトの選択と しては(無意味ですが)正当なものです.小数のタイムアウトは,サーバの応答 時間の調査や,ネットワークの待ち時間のテストで役に立ちます.
もちろん,リモートのサーバがこのオプションの要求より短い接続終了時間を 設定している可能性もあります.読み込みタイムアウトのデフォルト値は900秒 です.
このオプションでは,10進数が利用可能で,通常は乗数の接尾辞を追記します. 例えば,‘--limit-rate=2.5k’は正当な設定値になります.
Wgetは,指定したレート以上の時間をかけないよう,ネットワークの読み込み 後に適切な時間スリープすることで制限を実装していることに注意して下さい. 結局こうすることで,TCPの転送を指定したレートにだいたい落ち着きます. しかし,このバランスを達成するまで時間がかかるかもしれないので,制限さ れたレートが非常に小さなファイルでうまく動作しない場合でも驚かないでく ださい.
m
で後置した分,h
を後置した時間,d
を後置した一日で
指定可能です.
このオプションに大きな値を指定すると,ネットワークや接続先のホストが落 ちた場合,Wgetは再試行する前にネットワークエラーの修復が期待される程度 の妥当な時間待つことができるので役に立ちます.
このオプションは,大域的なwgetrcファイルでデフォルトで開始してい ることに注意してください.
有名なコンシュマープラットフォームでの開発に捧げられている出版物の最近 の論文では,これをこっそりと解析するコードを提供しています.その著者は, 自動的な回収プログラムでDHCPで提供するアドレスを悪意を持って変更するも のをブロックすることを確実にするため,クラスCのアドレスレベルをブロック することを提案しています.
‘--random-wait’オプションは,その動作を行なうウェブサイトから多く の無関係なユーザをブロックするような無差別な推奨があることを示唆してい ます.
*_proxy
環境変数が定義されている場合でも,プロキシを
使用しません.
Wgetでプロキシを使用する際の詳細は,Proxies.
クォータは単一ファイルのダウンロードで効果が無いことに注意してください. そのため,‘wget -Q10k ftp://wuarchive.wustl.edu/ls-lR.gz’のように 指定した場合,ls-lR.gz全体がダウンロードされます.複数の urlがコマンドラインで指定されたときも,同様なことが生じます.しか し,回収が再帰的なときや入力ファイルからのときにクォータは尊重されます. このため,安全に‘wget -Q2m -i sites’と入力ことができます—ダウン ロードはクォータ以上になったとき中止します.
クォータを0や‘inf’に設定すると,ダウンロードクォータは無制限にな ります.
しかし,Wgetのようなちょっとしたアプリケーションの実行の間でも,ホスト
名のキャッシュが好ましくない状況があることが報告されています.このオプ
ションを用いると,Wgetは新たな接続を作成するたびに新たにDNSを検索します
(より正確には,新たにgethostbyname
やgetaddrinfo
を呼び出し
ます).このオプションは,名前解決ライブラリやNSCDのような外部キャッシュ
のレイヤーによって実行されるキャッシュに影響しないことに注意して
下さい.
このオプションの動作を正確に理解していない場合,おそらくこのオプション は不要でしょう.
デフォルトで,通常は出力不可能な制御文字同様,オペレーティングシステム 上のファイル名の一部として有効ではない文字を,Wgetはエスケープします. このオプションは,ネイティブなパーティションではないところにダウンロー ドしたり,制御文字のエスケープを利用不可能にしたいなどの理由で,これら のデフォルトを変更するときに役に立ちます.
モードが“unix”に設定されているとき,Wgetは,文字‘/’と0–31の範囲 と128–159の範囲の制御文字をエスケープします.これはUnixに似たOS上での デフォルトです.
モードが“windows”に設定されているとき,Wgetは,文字‘\’, ‘|’,‘/’,‘:’,‘?’,‘"’,‘*’,‘<’, ‘>’と0–31の範囲と128–159の範囲の制御文字をエスケープします.これ に加え,windowsモードでのWgetは,ローカルファイル名でのホストとポートの 分離に‘:’の代わりに‘+’を使用し,残りのファイル名のクエリ部分 の分離に‘?’の代わりに‘@’を使用します.このため,unixモードで ‘www.xemacs.org:4300/search.pl?input=blah’として保存されるURL は windowsモードでは‘www.xemacs.org+4300/search.pl@input=blah’として 保存されます.このモードはWindowsではデフォルトです.
‘unix,nocontrol’のように,モードに‘,nocontrol’を追加した場合, 制御文字のエスケープも停止します.ファイル名の制限モードとして使用する OSの選択に影響を与えないまま,制御文字のエスケープを停止するために, ‘--restrict-file-names=nocontrol’を使用することが可能です.
いずれのオプションも一般的に必要とされるべきです.デフォルトで,IPv6対 応のWgetはホストのDNSレコードで指定されているアドレスファミリを使用しま す.DNSがAレコードとAAAAレコードを指定しているWgetは接続可能なものが見 つかるまで,順番に試していきます.
これらのオプションは,両方のファミリを使用しているシステム上で,意識的
にIPv4またはIPv6のアドレスファミリに強制させるために使用することが可能
で,通常はデバッグの目的やおかしくなったネットワーク構成を処理するため
に使用します.‘--inet6-only’と‘--inet4-only’は,同じコマンド
で一つだけしか指定できません.IPv6のサポート無しでコンパイルされたWget
では,何れのオプションも利用できません.
IPv4のネットワークで,IPv6とIPv4の両方のアドレス解決されたホストにアク
セスするとき,こうすることで,偽のエラーを避けて接続を試みます.例えば,
‘www.kame.net’が‘2001:200:0:8002:203:47ff:fea5:3085’と
‘203.178.141.194’だと分かったときそうなります.好ましいアドレスファ
ミリーがIPv4
のときIPv4アドレスが最初に使用されます.好ましいアド
レスファミリーがIPv6
のときIPv6アドレスが最初に使用されます.
none
の値を指定する場合,DNSが返したアドレスの順序を変更せずに使
用します.
‘-4’と‘-6’とは異なり,このオプションでは特定のアドレスファミ
リへのアクセスを禁止せず,アクセスするアドレスの順序だけを変更し
ます.また,このオプションで実行される順序変更が安定している
(stable)ことに注意してください—同じアドレスファミリの順序には影響し
ません.つまり,すべてのIPv4関連の順番とすべてのIPv6アドレスの順番は,
いずれの状況でも,元のまま残っています.