Linux
Tips |
|
認証が必要なサイトからファイルをダウンロードするには
北浦訓行
2003/1/31
|
Webサイトの中には、認証(ユーザー名やパスワードの入力)が必要なものがある。ユーザー認証が必要なWebサイトで、wgetを使ってファイルをダウンロードしようとすると、以下のようにエラーとなってしまう。
$ wget http://www.example.co.jp/tmp/xxxxx.html
--17:08:35-- http://www.example.co.jp/tmp/xxxxx.html
=> `xxxxx.html'
www.example.co.jp をDNSに問いあわせています... 完了しました。
www.example.co.jp[xxx.xxx.xxx.xxx]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 401 Authorization Required
認証に失敗しました。 |
以下のようにしてユーザー名とパスワードを送信すれば、ダウンロードが可能になる(以下の例では、「myuserid」がユーザーID、「mypassword」がパスワード)。
$ wget --http-user=myuserid --http-passwd=mypassword http://www.example.co.jp/tmp/xxxxx.html
--17:07:53-- http://www.example.co.jp/tmp/xxxxx.html
=> `xxxxx.html'
www.example.co.jp をDNSに問いあわせています... 完了しました。
www.example.co.jp[xxx.xxx.xxx.xxx]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 特定できません [text/html]
[ <=> ] 7,385 360.60K/s
17:07:53 (360.60 KB/s) - `xxxxx.html' を保存しました [7385] |
Anonymous FTPサイトからファイルをダウンロードする場合、ユーザー名に「anonymous」を、パスワードに自分のメールアドレスを入力するのが一般的だ。wgetコマンドは、デフォルトでユーザー名として「anonymous」、パスワードとして「username@hostname.domainname」を送信してくれるので、単純に以下のようにすればいい。
$ wget ftp://ftp.example.co.jp/pub/xxxxx.rpm |
Anonymous以外のユーザー認証が必要なFTPサイトの場合は、~/.wgetrcというファイルを作成して、そこにユーザー名とパスワードを記述する。
login=myuserid
passwd=mypassword |
すると、以下のように認証されるようになる。
$ wget ftp://ftp.example.co.jp/tmp/xxxxx.tar.bz
--14:50:50-- ftp://ftp.example.co.jp/tmp/xxxxx.tar.bz
=> `xxxxx.tar.bz'
ftp.example.co.jp に接続しています... 接続しました。
myuserid としてログインしています... ログインしました!
==> SYST ... 完了しました。 ==> PWD ... 完了しました。
==> TYPE I ... 完了しました。 ==> CWD /tmp ... 完了しました。
==> PORT ... 完了しました。 ==> RETR xxxxx.tar.bz ... 完了しました。
長さ: 9,985,319 (確証はありません)
100%[=================================>] 9,985,319 10.46M/s ETA 00:00
14:50:51 (10.46 MB/s) - `xxxxx.tar.bz' を保存しました [9985319] |
なお、~/.wgetrcにはパスワードを記述するので、必ず以下のコマンドを実行して、自分以外のユーザーがアクセスできないようにしておく必要がある。
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間