スキップしてメイン コンテンツに移動

Wget は必ず最新版を使います

先日、とあるサーバーからWgetでファイルを一括ダウンロードしました。
wget -r http://www/example.com/hoge/
よしよし、作業完了・・・と思ってローカルで確認すると、どうも画像が足りない・・・。




なんでだ? と思って、今度は自分の手元にあるubuntu10.10からWgetすると、画像もすべてダウンロードできました。とりあえずubuntuのファイルをサーバーにアップロードして(なんて面倒な・・・)、一見落着と思ったのですが、理由が気になるので、HTMLをひとしきり確認すること約一時間。
ようやくたどり着いた結論が、スタイルシート。
.hogehoge {
    background-image: ("./img/huga.jpg");
}
つまり、HTMLではなく、スタイルシートで背景画像の設定を行なったということです。HTML(文書)とCSS(レイアウト)の分離が日常茶飯事である昨今。これはWgetさん、不甲斐ないなと思ったのですが、はたとあることに気づきました。
wget -V
GNU Wget 1.11 built on linux-gnu.
ん? サーバー側のWgetのバージョンが・・・古い。ubuntuにインストールされているWgetのバージョンは、1.12(2011.03.25時点で最新版)となっており、このバージョンアップでCSS内で定義されたリンクを解析する機能が追加されたとの事でした。
確かに長い間頑張ってるサーバーだからな・・・。
結局このサーバーはボクの管理下にはないサーバーだったので、一応管理者に報告だけして放置。

基本といえば基本ですが、ソフトウェアはちゃんとアップデートしましょう・・・。
ちなみに、Wget1.12のリリースは2009年9月との事です。トホホ・・・。

see also
wget vs curl - コマンドラインダウンロードツール頂上決戦
wgetでリンク切れリストを取得する


コメント

このブログの人気の投稿

[VB.NET]オレオレ証明書でSSL通信するための短絡的な解決法

VB.NETソフトウェアでサーバーと通信することはよくある事だと思いますが、最近はHTTPを使って明けっ広げに刺しに行くよりHTTPSを使って暗号化してこそこそやった方が時代の流れに即した感じですよね(違うか)。 いちいちテスト環境でSSL証明書を用意するのも面倒だということで、セキュリティ的には全くよろしくない方法で迂回できるので紹介します。

wget vs curl - コマンドラインダウンロードツール頂上決戦

「wget」って便利ですよね。 僕はPHPerなので、PHPを使ってcronを回したい時は、今ならCLIモードを利用してバッチを書きますが、以前はそんな事できなかった。PHPでバッチ処理するには、wgetでlocalhostのURLを叩きに行くのが手っ取り早かったんです(もちろん、外からのアクセスへの対策も行いつつ)。 そんなこんなでよく使うwgetですが、先日node.jsをインストールした時に出てきた、curlというツールも同じような内容のツールだと感じました。 って事は、どっちが強いか決めるのがジャンプ世代じゃないですかね?

curl の基本的な使い方 -設定編-

今回のcurl TIPSは、curlをより日常的に使っていくためのHow toです。curlには、数多くのオプションが用意されていて、それらを組み合わせる事で様々な事が楽になるでしょう。サービス監視の自動化などにはまさにcurlの得意分野です。 今回は、curlを更に自分のものにしていくために大事なカスタマイズの部分を解説します。