OS X: эквивалент Linux для wget - PullRequest
458 голосов
/ 31 декабря 2010

Как я могу сделать HTTP GET из сценария оболочки Un * x в стандартной системе OS X? (установка стороннего программного обеспечения невозможна, так как она должна выполняться на множестве разных систем, которые я не могу контролировать).

Например, если я запускаю сервер Mercurial локально, выполняя hg serve :

... $ hg serve 

И затем из Linux, который имеет команду wget , я делаю 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 из сценария оболочки является использование wget (если, конечно, эта команда установлена).

Какие есть еще способы сделать эквивалент wget ? В частности, я ищу что-то, что могло бы работать на стандартных установках OS X.

Ответы [ 10 ]

647 голосов
/ 31 декабря 2010

Я собираюсь сказать curl http://127.0.0.1:8000 -o outfile

437 голосов
/ 13 июня 2013

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'
79 голосов
/ 10 января 2014

Curl имеет режим, который почти эквивалентен стандартному wget.

curl -O <url>

Это работает так же, как

wget <url>

И, если хотите, вы можете добавить его в свой.bashrc:

alias wget='curl -O'

Это не на 100% совместимо, но работает для наиболее распространенного использования wget (IMO)

39 голосов
/ 04 ноября 2013

1) на вашем компьютере типа Mac

nano /usr/bin/wget

2) вставьте следующее в

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

3) закройте, затем сделайте его исполняемым

chmod 777 /usr/bin/wget

это.

15 голосов
/ 31 декабря 2010

Использование curl;

curl http://127.0.0.1:8000 -o index.html
9 голосов
/ 27 июня 2013

Вот Mac OS X, эквивалентный Linux для wget.

Для Linux, например Ubuntu в экземпляре AWS, используйте:

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

На Mac, то есть для локальной разработки,используйте это:

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

Параметр -o требуется на Mac для вывода в файл, а не на экран.Укажите другое целевое имя для переименования загруженного файла.

Используйте capital -O для переименования с помощью wget.Нижний регистр -o будет указывать выходной файл для журнала передачи.

6 голосов
/ 18 мая 2018

Вместо того, чтобы использовать эквивалент, вы можете попробовать "brew install wget" и использовать wget.

На вашем Mac должен быть установлен brew.

5 голосов
/ 07 апреля 2016

Вы можете либо собрать wget на компьютере Mac, либо использовать MacPorts для его непосредственной установки.

sudo port install wget 

Это будет работать как чудо, также вы можете обновиться до последней версии, как только она станет доступной.Порт намного стабильнее, чем brew, хотя у него гораздо меньше формул и портов.

Вы можете установить MacPorts из https://www.macports.org/install.php, загрузить файл .pkg и установить его.

4 голосов
/ 31 декабря 2010

Вместо этого вы можете использовать curl.Он установлен по умолчанию в /usr/bin.

2 голосов
/ 11 июля 2018

Предварительно скомпилированный wget для двоичных файлов Mac

Для тех, кто ищет быструю установку wget на Mac, ознакомьтесь с предварительно скомпилированным двоичным файлом Квентина Стаффорда-Фрейзера, который существует уже более десяти лет:1005 *https://statusq.org/archives/2008/07/30/1954/

MD5 за 2008 г. wget.zip: 24a35d499704eecedd09e0dd52175582 MD5 для 2005 wget.zip: c7b48ec3ff929d9bd28ddb87e1a76ffb

Нет мусора make / install / port / brew / curlПросто скачайте, установите и запустите.Работает с Mac OS X 10.3-10.12 +.

...