582

ストック 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 インストールで動作するものを探しています。

4

10 に答える 10

829

私は言わなければならないつもりですcurl http://127.0.0.1:8000 -o outfile

于 2010-12-31T20:21:26.373 に答える
96

Curl には、デフォルトの wget とほぼ同等のモードがあります。

curl -O <url>

これは次のように機能します

wget <url>

必要に応じて、これを .bashrc に追加できます。

alias wget='curl -O'

100% 互換性はありませんが、最も一般的な wget の使用法 (IMO) で動作します

于 2014-01-10T08:16:35.293 に答える
19

使用しcurlます。

curl http://127.0.0.1:8000 -o index.html
于 2010-12-31T20:22:18.963 に答える
15

これは Linux の wget に相当する Mac OS X です。

Linux の場合、たとえば AWS インスタンス上の Ubuntu では、次を使用します。

wget http://example.com/textfile.txt

Mac では、つまりローカル開発の場合は、これを使用します。

curl http://example.com/textfile.txt -o textfile.txt

-o パラメータは、Mac で画面ではなくファイルに出力するために必要です。ダウンロードしたファイルの名前を変更するには、別のターゲット名を指定してください。

wget で名前を変更するには、大文字の -O を使用します。小文字の -o は、転送ログの出力ファイルを指定します。

于 2013-06-27T07:57:28.593 に答える
5

Mac マシンで wget をビルドするか、MacPorts を使用して直接インストールすることができます。

sudo port install wget 

これは魅力のように機能し、最新バージョンが利用可能になり次第更新することもできます。ポートは、式とポートの数がはるかに少ないですが、醸造よりもはるかに安定しています。

から MacPorts をインストールできます。ファイルをhttps://www.macports.org/install.phpダウンロードしてインストールできます。.pkg

于 2016-04-07T02:05:27.900 に答える
4

代わりに使用できますcurl。デフォルトで にインストールされます/usr/bin

于 2010-12-31T20:22:18.917 に答える