
Ubuntu日本語フォーラム

ログインしていません。
初めまして。最近Ubuntu18.04のサーバー版をさわり始めた者です。
ダウンロードするのにユーザー認証が必要なwebページからファイルをダウンロードする方法が分かりません。
以下のページにある
https://developer.nvidia.com/rdp/cudnn-archive
の
「Download cuDNN v7.1.3 (April 17, 2018), for CUDA 9.1」
という項目にある
「cuDNN v7.1.3 Library for Linux」
をダウンロードしようとUbuntu18.04サーバー版に
wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.1.3/prod/9.1_20180414/cudnn-9.1-linux-x64-v7.1
と入力してみたところ
ERROR 403:Forbidden
というエラーが発生してしまいダウンロードができません。
wget --no-check-certificateも試してみたのですが結果は上記のエラーと同じエラーがでました。
どのようにすればダウンロードできるようになるでしょうか?
ご教授の程よろしくお願い致します。
オフライン
ログインが必要なサイトですね。
面倒なので手動でダウンロードするのをおすすめします。
おそらくログインした時にブラウザにcookieが保存され、
そのcookieで認証して問題なければダウンロードに進む
という動きをしていると思われます。
したがってどうしてもwgetで実現したいのであれば一旦ログインしてcookieを作成し、そのcookieを添付してダウンロードするという手順になります。
1) https://login.developer.nvidia.com/login?state=g6Fo2SBkMjJja1d1VlIzUXRLTzBDT053OS1ONjRfVzZmN3NHNqN0aWTZIEt1dDNZeFpmRmVSNjNTODJwWmhqbHNPUnQ4eVk1bUo0o2NpZNkgNGpsalRlak43Uk1POXN1TDBTMzNnRnJZZ2pIWDBWY1c&client=4jljTejN7RMO9suL0S33gFrYgjHX0VcW&protocol=oauth2&response_type=code&method=login&redirect_uri=https%3A%2F%2Fdeveloper.nvidia.com%2Fauth0%2Fcallback%3Fdestination%3D&scope=openid%20profile%20email&audience=https%3A%2F%2Fdevzone.auth0.com%2Fuserinfo
にログインする
2)ブラウザに保存されているlogin.developer.nvidia.comのcookieをテキスト(auth.txt)に出力する
3) wget --load-cookies auth.txt -p https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.1.3/prod/9.1_20180414/cudnn-9.1-linux-x64-v7.1
1)のログインもwgetでやりたい場合はかなり面倒ですがPOSTしているデータのjsonファイルを作ってwgetで送信することで実現できるはずです。
POSTデータは動的に作られているようなのでenterprise_json()の中の処理を分析して作る必要があります。
概ね以下の様なデータになります。
{_csrf:"5yjXk5Aq-vE3bjccfAsvzPYPPwMJm1rHAaGU",_intstate:"deprecated",audience:"https://devzone.auth0.com/userinfo",client_id:"4jljTejN7RMO9suL0S33gFrYgjHX0VcW",connection:"user-id-database",password:"パスワード",redirect_uri:"https://developer.nvidia.com/auth0/callback?destination=",response_type:"code",scope:"openid profile email",state:"g6Fo2SBkMjJja1d1VlIzUXRLTzBDT053OS1ONjRfVzZmN3NHNqN0aWTZIEt1dDNZeFpmRmVSNjNTODJwWmhqbHNPUnQ4eVk1bUo0o2NpZNkgNGpsalRlak43Uk1POXN1TDBTMzNnRnJZZ2pIWDBWY1c",
tenant:"devzone",username:"ユーザー名"}
上記のjsonデータを適度に編集してlogin.txtに保存し、
wget --save-cookies auth.txt --post-file=login.txt --header="Content-Type: text/json" https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.1.3/prod/9.1_20180414/cudnn-9.1-linux-x64-v7.1
を実行すればautn.txtが作られるので
2)を飛ばして3)の手続きを実行すればよいはずです。
enterprise_login()の中身を読んでいないので不正確なところもあると思いますが余力があれば試行錯誤してみて下さい。(おすすめはしません)
オフライン
ubuntuサーバーにブラウザが無いようでしたら、いったんパソコン上にダウンロードしてgithubなりgoogleドライブの公開フォルダに置いてからubuntuサーバーからwgetするとか。
オフライン
kigyousensi様
ありがとうございました。
無事にダウンロードすることが出来ました。
オフライン