OS X:相当于Linux的wget

时间:2010-12-31 20:19:55

标签: macos shell unix http-get

如何从库存OS X系统上的Un * x shell脚本执行HTTP GET? (安装第三方软件不是一种选择,因为这必须在我无法控制的许多不同系统上运行。)

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

... $ 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安装的东西。

10 个答案:

答案 0 :(得分:638)

我将不得不说curl http://127.0.0.1:8000 -o outfile

答案 1 :(得分:433)

brew install wget

Homebrew是OSX的包管理器,类似于yum,apt-get,choco,emerge等。请注意,您还需要安装Xcode和命令行工具。实际上,任何在OSX中使用命令行的人都会想要安装这些东西。

如果您不能或不想使用自制软件,您还可以:

手动安装wget:

curl -# "http://ftp.gnu.org/gnu/wget/wget-1.17.1.tar.xz" -o "wget.tar.xz"
tar xf wget.tar.xz
cd wget-1.17.1
./configure --with-ssl=openssl -with-libssl-prefix=/usr/local/ssl && make -j8 && make install

或者,使用bash别名:

function _wget() { curl "${1}" -o $(basename "${1}") ; };
alias wget='_wget'

答案 2 :(得分:76)

Curl的模式几乎等同于默认的wget。

curl -O <url>

这就像

一样
wget <url>

而且,如果您愿意,可以将其添加到.bashrc:

alias wget='curl -O'

它不是100%兼容,但它适用于最常见的wget用法(IMO)

答案 3 :(得分:39)

1)在你的mac类型

nano /usr/bin/wget

2)将以下内容粘贴到

#!/bin/bash
curl -L $1 -o $2

3)关闭然后使其可执行

chmod 777 /usr/bin/wget

就是这样。

答案 4 :(得分:15)

使用curl;

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

答案 5 :(得分:9)

这是Mac OS X相当于Linux的wget。

对于Linux,例如AWS实例上的Ubuntu,请使用:

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

在Mac上,即本地开发,请使用:

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

Mac上需要-o参数才能输出到文件而不是屏幕上。指定其他目标名称以重命名下载的文件。

使用 capital -O进行wget重命名。小写-o将指定传输日志的输出文件。

答案 6 :(得分:6)

您可以尝试“brew install wget”并使用wget。

,而不是使用等效的

您需要在Mac中安装brew。

答案 7 :(得分:5)

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

sudo port install wget 

这就像魅力一样,你也可以尽快更新到最新版本。港口比啤酒更稳定,但配方和港口的数量要少得多。

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

答案 8 :(得分:4)

您可以使用curl代替。它默认安装在/usr/bin

答案 9 :(得分:2)

wget预编译的Mac Binary

对于那些希望在Mac上快速安装wget的用户,请在此处查看Quentin Stafford-Fraser的预编译二进制文件,该文件已经存在了十多年了:

https://statusq.org/archives/2008/07/30/1954/

MD5 for 2008 wget.zip:24a35d499704eecedd09e0dd52175582
MD5 for 2005 wget.zip:c7b48ec3ff929d9bd28ddb87e1a76ffb

没有make / install / port / brew / curl垃圾。只需下载,安装和运行即可。与Mac OS X 10.3-10.12 +兼容。