OS X: equivalent of Linux's wget
如何从库存OS X系统上的Un * x shell脚本执行HTTP GET? (安装第三方软件不是一种选择,因为这必须在我无法控制的许多不同系统上运行)。
例如,如果我在本地启动Mercurial服务器执行hg服务:
1 | ... $ hg serve |
然后,从具有wget命令的Linux我做一个wget:
1 2 3 4 5 6 | ... $ 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成功了:
1 | 127.0.0.1 - - [30/Dec/2010 22:18:17]"GET / HTTP/1.0" 200 - |
所以在Linux上,从shell脚本执行HTTP GET的一种方法是使用wget(如果当然安装了该命令)。
有什么其他方法可以做相当于一个wget? 特别是我正在寻找可以在OS X安装上运行的东西。
我不得不说
Homebrew是OSX的包管理器,类似于yum,apt-get,choco,emerge等。请注意,您还需要安装Xcode和命令行工具。事实上,任何在OSX中使用命令行的人都会想要安装这些东西。
如果您不能或不想使用自制软件,您还可以:
手动安装wget:
1 2 3 4 | 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别名:
1 2 | function _wget() { curl"${1}" -o $(basename"${1}") ; }; alias wget='_wget' |
Curl的模式几乎等于默认的wget。
1 | curl -O <url> |
这就像
1 | wget <url> |
而且,如果您愿意,可以将其添加到.bashrc中:
1 | alias wget='curl -O' |
它不是100%兼容,但它适用于最常见的wget用法(IMO)
1)在你的mac类型上
1 | nano /usr/bin/wget |
2)粘贴以下内容
1 2 | #!/bin/bash curl -L $1 -o $2 |
3)关闭然后使其可执行
1 | chmod 777 /usr/bin/wget |
而已。
使用
1 | curl http://127.0.0.1:8000 -o index.html |
这是Mac OS X相当于Linux的wget。
对于Linux,例如AWS实例上的Ubuntu,请使用:
1 | wget http://example.com/textfile.txt |
在Mac上,即用于本地开发,请使用:
1 | curl http://example.com/textfile.txt -o textfile.txt |
Mac上需要-o参数才能输出到文件而不是屏幕上。指定其他目标名称以重命名下载的文件。
使用大写-O用wget重命名。小写-o将指定传输日志的输出文件。
您可以尝试"brew install wget"并使用wget,而不是使用等效的。
您需要在Mac中安装brew。
您可以在mac机器上构建wget,也可以使用MacPorts直接安装它。
1 | sudo port install wget |
这可以像魅力一样,你也可以尽快更新到最新版本。港口比啤酒更稳定,但配方和港口的数量要少得多。
您可以从
您可以改用
wget预编译的Mac二进制文件
对于那些希望在Mac上快速安装wget的用户,请查看Quentin Stafford-Fraser的预编译二进制文件,该文件已经存在了十多年:
https://statusq.org/archives/2008/07/30/1954/
MD5 for 2008 wget.zip:24a35d499704eecedd09e0dd52175582 sub>
MD5 for 2005 wget.zip:c7b48ec3ff929d9bd28ddb87e1a76ffb sub>
没有make / install / port / brew / curl垃圾。只需下载,安装和运行即可。适用于Mac OS X 10.3-10.12 +。