web-dev-qa-db-ja.com

link.phpをダウンロードするwget

wgetを使用して、phpを使用するリンクからファイルをダウンロードする方法を見つけるのに問題があります。

たとえば、ダウンロードするスクリプトを作成したい場合は、毎日スーパーアンチスパイウェアポータブルと言うので、常に新しいコピーがあります(Windowsを実行している場合にのみ便利ですが、それは避けます)。ダウンロードリンクは好む :

http://www.superantispyware.com/sasportable.php

PHPファイルは必要ありません。リンク先のファイルが必要です。ブラウザーでは、この機能を実現するためにサーバー側で何らかの魔法が起こると思います。ブラウザの動作をエミュレートするために使用できる呪文はありますか? curlできますか?

4
caleb

デフォルトでは、URLのファイル名がターゲットファイル名として使用されます。リダイレクトが発生する場合は、最終ファイル名を使用することをお勧めします。これは、wget--trust-server-namesオプションで実現できます。

wget --trust-server-names http://example.com/file.php

Wgetのマニュアルページから:

--trust-server-names
これをオンに設定すると、リダイレクト時に、リダイレクトURLの最後のコンポーネントがローカルファイル名として使用されます。デフォルトでは、元のURLの最後のコンポーネントが使用されます。

ターゲットファイル名が意図したものでない場合は、次のように-O(長いオプション:--output-document)オプションを使用できます。

wget http://example.com/file.php -O meh.tar.gz
6
Lekensteyn

「マジック」はブラウザではなくサーバー側なので、URLをwgetまたはcurlするだけです。

0
psusi