如何在现有的OS系统上从Un*x shell脚本执行HTTP GET?(安装第三方软件不是一个选项,因为这必须在我无法控制的许多不同的系统上运行)。
例如,如果我在本地启动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安装上工作的东西。
发布于 2011-01-01 04:21:26
我不得不说curl http://127.0.0.1:8000 -o outfile
发布于 2013-06-14 02:18:11
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'
发布于 2014-01-10 16:16:35
Curl的模式几乎等同于默认的wget。
curl -O <url>
它的工作原理与
wget <url>
如果你愿意,你可以把这个添加到你的.bashrc中:
alias wget='curl -O'
它不是100%兼容的,但它适用于最常见的wget用法(IMO)
https://stackoverflow.com/questions/4572153
复制相似问题