it-swarm.com.ru

OS X: эквивалент Linux для wget

Как я могу сделать 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 из сценария Shell является использование wget (если, конечно, эта команда установлена).

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

453
SyntaxT3rr0r

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

640
SiegeX

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'
434
Eric Hartford

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

curl -O <url>

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

wget <url>

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

alias wget='curl -O'

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

77
Ed Henderson

1) на вашем Mac типе

nano /usr/bin/wget

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

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

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

chmod 777 /usr/bin/wget

Вот и все.

39
Eamon Straughn

Используйте curl;

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

Вот 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 для вывода в файл, а не на экран. Укажите другое целевое имя для переименования загруженного файла.

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

9
Oliver Schafeld

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

Вам необходимо установить brew на вашем Mac.

6
Jaya Konduru

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

Sudo port install wget 

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

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

5
Hammad Haleem

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

4
James Sumners

wget предварительно скомпилированный Mac Binary

Для тех, кто ищет быструю установку wget на Mac, посмотрите предварительно скомпилированный двоичный файл Квентина Стаффорда-Фрейзера, который существует уже более десяти лет:

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 +.

2
Beejor