我怎么能做一个HTTP GET从一个Un*x shell脚本上一个股票OS x系统?(安装第三方软件不是一个选择,因为这必须运行在很多不同的系统上,我没有控制)。

例如,如果我在本地启动Mercurial服务器,执行hg服务:

... $ 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上,从shell脚本执行HTTP GET的一种方法是使用wget(当然,如果安装了该命令)。

还有什么其他方法可以实现与wget相同的功能?我正在寻找,特别是一些东西,将工作在股票OS X安装。


当前回答

您可以在mac机器上构建wget,也可以使用MacPorts直接安装它。

sudo port install wget 

这将像一个魅力,你也可以更新到最新的版本,只要它可用。Port比brew更稳定,尽管有更少的公式和Port。

您可以从https://www.macports.org/install.php下载。pkg文件并安装MacPorts。

其他回答

您可以在mac机器上构建wget,也可以使用MacPorts直接安装它。

sudo port install wget 

这将像一个魅力,你也可以更新到最新的版本,只要它可用。Port比brew更稳定,尽管有更少的公式和Port。

您可以从https://www.macports.org/install.php下载。pkg文件并安装MacPorts。

你可以尝试“brew install wget”,然后使用wget。

你需要在你的mac上安装brew。

下面的本地命令可以工作:

Curl http://127.0.0.1:8000 -o outfile

注意,默认情况下,curl不跟随重定向。要告诉它这样做,在参数列表中添加-L。

使用旋度;

curl http://127.0.0.1:8000 -o index.html

你可以用旋度代替。它默认安装在/usr/bin中。