標準の OS X システムで Un*x シェル スクリプトから HTTP GET を実行するにはどうすればよいでしょうか? (サードパーティ ソフトウェアをインストールすることはできません。これは、私が制御できないさまざまなシステムで実行する必要があるためです)。
たとえば、hg serve を実行して Mercurial サーバーをローカルで起動する場合:
... $ hg serve
そして、wgetコマンドがある Linux から wget を実行します。
... $ wget http://127.0.0.1:8000
--2010-12-31 22:18:25-- http://127.0.0.1:8000/
Connecting to 127.0.0.1:8000... connected.
HTTP request sent, awaiting response... 200 Script output follows
Length: unspecified [text/html]
Saving to: `index.html
そして、 「hg serve」コマンドを起動したターミナルでは、HTTP GET が実際に実行されたことがわかります。
127.0.0.1 - - [30/Dec/2010 22:18:17] "GET / HTTP/1.0" 200 -
したがって、Linux でシェル スクリプトから HTTP GET を実行する 1 つの方法は、wgetを使用することです(もちろん、そのコマンドがインストールされている場合)。
wgetと同等のことを実行する他の方法はありますか? 特に、標準の OS X インストールで動作するものを探しています。
ベストアンサー1
次のネイティブ コマンドが機能します。
curl http://127.0.0.1:8000 -o outfile
デフォルトではリダイレクトに従わないことに注意してくださいcurl
。リダイレクトに従うように指示するには、-L
引数リストに を追加します。