web-dev-qa-db-ja.com

WGET 401無許可

WGETでバッチファイルを使用して、ここからパブリックFCCファイルをダウンロードしようとしています

http://wireless.fcc.gov/uls/data/complete/l_micro.Zip

パラメータを指定してバッチファイルを最初に実行したとき

wget --server-response -owget.log http://wireless.fcc.gov/uls/data/complete/l_micro.Zip 

HTTP 401無許可エラーで失敗します。この時点で再試行できますが、失敗し続けます。しかし、IEを開いてダウンロードを開始し、保存を求めるメッセージが表示されたらキャンセルすると、バッチファイルを再実行でき、完全に実行されます。

ログからの詳細なサーバー応答は次のとおりです

--2012-02-06 14:32:24--  http://wireless.fcc.gov/uls/data/complete/l_micro.Zip
Resolving wireless.fcc.gov (wireless.fcc.gov)... 192.104.54.158
Connecting to wireless.fcc.gov (wireless.fcc.gov)|192.104.54.158|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 302 Found
  Location: REMOVED - appears to have my IP
  Cache-Control: no-cache
  Pragma: no-cache
  Content-Type: text/html; charset=utf-8
  Connection: close
  Content-Length: 513
Location: REMOVED [following]
--2012-02-06 14:32:24--  REMOVED
Resolving REMOVED... 192.168.2.11
Connecting to REMOVED|192.168.2.11|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 401 Unauthorized
  Cache-Control: no-cache
  Pragma: no-cache
  WWW-Authenticate: NTLM
  WWW-Authenticate: BASIC realm="AD_BCAAA"
  Content-Type: text/html; charset=utf-8
  Proxy-Connection: close
  Set-Cookie: BCSI-CS-8ECFB6B4AA642EF0=2; Path=/
  Connection: close
  Content-Length: 575
Authorization failed.

これは私の小さなIE手順を実行してそれを機能させた後のログです

--2012-02-08 15:52:43--  http://wireless.fcc.gov/uls/data/complete/l_micro.Zip
Resolving wireless.fcc.gov (wireless.fcc.gov)... 192.104.54.158
Connecting to wireless.fcc.gov (wireless.fcc.gov)|192.104.54.158|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Server: Sun-Java-System-Web-Server/7.0
  Date: Fri, 27 Jan 2012 18:37:51 GMT
  Content-type: application/Zip
  Last-modified: Sun, 22 Jan 2012 11:18:09 GMT
  Etag: "46fa95c-4f1bf071"
  Accept-ranges: bytes
  Content-length: 74426716
  Connection: Keep-Alive
  Age: 1045014
Length: 74426716 (71M) [application/Zip]
Saving to: `l_micro.Zip'

どんな助けでもありがたいです!

15
user1192537

ウェブサイトにhtpasswordが設定されているだけの場合は、以下を試すことができます。

wget --user=admin --ask-password https://www.yourwebsite.com/file.Zip
28
Federico Giorgi

応答の行からわかるように、ネットワークに Blue Coat 安全なWebゲートウェイがあります。

Set-Cookie: BCSI-CS-8ECFB6B4AA642EF0=2; Path=/

おそらくドメインの認証情報を使用して認証を求めているようです。 --http-user--http-passwdで渡してみてください。

9
Edward Thomson

--auth-no-challengeと正確なエラーが解決されます。

7
Omid Ataollahi

Xwikiベースのサイトでも同様の問題がありました。何度か試した後、うまく機能する組み合わせを見つけました

wget --no-check-certificate --auth-no-challenge -k -nc -p -l 1 -r https:// user:[email protected]

キーは--auth-no-challengeだったと思います

3
Valeriy

this 拡張機能を使用してみてください。コピーしてbashから実行できるwgetまたはcurlコマンドを生成します。

1

別のシステムで問題が発生しなかったときに、wgetが401の無許可のメッセージを出していた理由を調べるためにここに来ました。

ソースから新しいバージョンのwgetをインストールした後(私のディストリビューションではバイナリは使用できませんでした)、それは機能しました。理由は説明できませんが、何らかのバグである必要があるため、上記のいずれでも問題が解決しない場合は、wgetのアップグレードを検討してください。

1
user5802444

Wgetでユーザーエージェント文字列を設定してみてください。

--user-agent=Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)  

サイトが特定のユーザーエージェントからのリクエストを拒否することは完全に現実的です。特に、ユーザーエージェントが情報への「通常の」ルートを迂回しているように見える場合(つまり、Webページを介して)。

これはあなたの問題を説明しませんが、とにかくそれは良い考えです。おそらく、サイトは「既知の」ブラウザ(例:IE)で閲覧するときにIPを「安全」としてキャッシュし、IPのユーザーエージェントが何でもダウンロードできるようにするメカニズムを実装しています:)

0
robf