0

リモート Web サーバーからファイルをダウンロードするための最適なルートはどれですか? 特定のユーザーエージェントが渡されない限り、.htaccess を使用してすべてのダウンロードを拒否したいと考えています。これは cURL 経由で行う必要がありますか、それとも WGET で行うことはできますか?

4

2 に答える 2

3

http://www.gnu.org/software/wget/manual/wget.html

'-U agent-string' '--user-agent=agent-string' http サーバーへのエージェント文字列として識別します。http プロトコルを使用すると、クライアントは User-Agent ヘッダー フィールドを使用して自身を識別できます。これにより、通常は統計目的またはプロトコル違反の追跡のために、www ソフトウェアを区別できます。Wget は通常 'Wget/version' として識別され、version は Wget の現在のバージョン番号です。

ただし、一部のサイトでは、ユーザー エージェントが提供する情報に従って出力を調整するポリシーを課すことが知られています。これは理論的にはそれほど悪い考えではありませんが、(歴史的に) Netscape またはより頻繁に Microsoft Internet Explorer 以外のクライアントへの情報を拒否するサーバーによって悪用されてきました。このオプションを使用すると、Wget によって発行される User-Agent 行を変更できます。自分が何をしているのか本当によくわかっていない限り、このオプションの使用はお勧めできません。

'--user-agent=""' で空のユーザー エージェントを指定すると、Wget は http 要求で User-Agent ヘッダーを送信しないように指示されます。

于 2012-10-11T19:20:51.693 に答える
0

また、記録のために、からman curl(1)

   -A, --user-agent <agent string>
          (HTTP) Specify the User-Agent string to send to the HTTP server.
          Some  badly  done  CGIs  fail  if  this  field  isn't   set   to
          "Mozilla/4.0".  To  encode  blanks  in  the string, surround the
          string with single quote marks. This can also be  set  with  the
          -H, --header option of course.

          If this option is used several times, the last one will be used.
于 2014-04-26T18:42:15.193 に答える