1

私の端末で:

url='http://58.30.207.171/youku/69764FC8BC2447992487A2488/030002010051001478A6FA0109ACBF22B0F614-2746-1AE5-C9EF-2266A1CC83DB.flv'
curl $url -o test1.flv #can download
wget -c $url -O test2.flv #can not download

1.なぜwgetダウンロードできないのですか?
2.どうすればwgetダウンロードできますか?

4

1 に答える 1

0

サイトが特に wget をブロックしている可能性があります。ユーザーエージェントを空の文字列に設定することで、これをオーバーライドできます: http://www.gnu.org/software/wget/manual/wget.html#Option-Syntaxでこれを見つけました

'-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 ヘッダーを送信しないように指示されます。

于 2013-01-24T04:24:31.323 に答える