お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2019-05-06 22:06:48

tanatana
新しいメンバ
登録日: 2019-05-06

ダウンロードするのにユーザー認証が必要なファイルをダウンロードする方法が分かりません

初めまして。最近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も試してみたのですが結果は上記のエラーと同じエラーがでました。
どのようにすればダウンロードできるようになるでしょうか?
ご教授の程よろしくお願い致します。

オフライン

 

#2 2019-05-06 23:29:13

kigyousensi
メンバ
From: Tokyo
登録日: 2010-11-14

Re: ダウンロードするのにユーザー認証が必要なファイルをダウンロードする方法が分かりません

ログインが必要なサイトですね。
面倒なので手動でダウンロードするのをおすすめします。

おそらくログインした時にブラウザに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()の中身を読んでいないので不正確なところもあると思いますが余力があれば試行錯誤してみて下さい。(おすすめはしません)

オフライン

 

#3 2019-05-06 23:51:36

kigyousensi
メンバ
From: Tokyo
登録日: 2010-11-14

Re: ダウンロードするのにユーザー認証が必要なファイルをダウンロードする方法が分かりません

ubuntuサーバーにブラウザが無いようでしたら、いったんパソコン上にダウンロードしてgithubなりgoogleドライブの公開フォルダに置いてからubuntuサーバーからwgetするとか。

オフライン

 

#4 2019-05-07 14:19:52

tanatana
新しいメンバ
登録日: 2019-05-06

Re: ダウンロードするのにユーザー認証が必要なファイルをダウンロードする方法が分かりません

kigyousensi様
ありがとうございました。
無事にダウンロードすることが出来ました。

オフライン

 

Board footer

Powered by FluxBB