web-dev-qa-db-fra.com

OS X: équivalent du wget de Linux

Comment puis-je effectuer un HTTP GET à partir d'un script Un * x Shell sur un système OS X standard? (installer un logiciel tiers n'est pas une option, car cela doit fonctionner sur beaucoup de systèmes différents sur lesquels je n'ai pas le contrôle).

Par exemple, si je démarre le serveur Mercurial localement en faisant un hg serve:

... $ hg serve 

Et puis, à partir d’un Linux qui a la commande wget, je fais un 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

Et sur le terminal dans lequel j'ai lancé la commande "hg serve", je peux en effet voir qu'un HTTP GET a fait son chemin:

127.0.0.1 - - [30/Dec/2010 22:18:17] "GET / HTTP/1.0" 200 -

Donc, sur Linux, une façon de faire un HTTP GET à partir d’un script Shell est d’utiliser wget (si cette commande est installée bien sûr).

Quels sont les autres moyens de faire l'équivalent d'un wget? Je recherche en particulier quelque chose qui fonctionnerait avec les installations stockées d’OS X.

462
SyntaxT3rr0r

Je vais devoir dire curl http://127.0.0.1:8000 -o outfile

657
SiegeX

brew install wget

Homebrew est un gestionnaire de paquets pour OSX analogue à yum, apt-get, choco, emerge, etc. Sachez que vous devrez également installer Xcode et les outils de ligne de commande. Pratiquement tous ceux qui utilisent la ligne de commande dans OSX voudront quand même installer ces choses.

Si vous ne pouvez ou ne voulez pas utiliser l'homebrew, vous pouvez également:

Installez wget manuellement:

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

Ou utilisez un alias bash:

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

Curl a un mode presque équivalent au wget par défaut.

curl -O <url>

Cela fonctionne comme

wget <url>

Et, si vous le souhaitez, vous pouvez ajouter ceci à votre .bashrc:

alias wget='curl -O'

Ce n'est pas 100% compatible, mais cela fonctionne pour l'utilisation la plus courante de wget (IMO)

80
Ed Henderson

1) sur votre type de mac

nano /usr/bin/wget

2) coller ce qui suit dans

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

3) fermer puis le rendre exécutable

chmod 777 /usr/bin/wget

C'est ça.

39
Eamon Straughn

Utilisez curl;

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

Voici l'équivalent Mac OS X du wget de Linux.

Pour Linux, par exemple Ubuntu sur une instance AWS, utilisez:

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

Sur un Mac, c’est-à-dire pour le développement local, utilisez ceci:

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

Le paramètre -o est requis sur un Mac pour pouvoir être exporté dans un fichier plutôt qu'à l'écran. Spécifiez un autre nom de cible pour renommer le fichier téléchargé.

Utilisez majuscule -O pour renommer avec wget. Les minuscules -o spécifieront le fichier de sortie pour le journal de transfert.

10
Oliver Schafeld

Au lieu d'aller avec équivalent, vous pouvez essayer "brew install wget" et utiliser wget.

Vous devez avoir installé la bière dans votre mac.

6
Jaya Konduru

Vous pouvez créer wget sur la machine Mac ou utiliser MacPorts pour l’installer directement.

Sudo port install wget 

Cela fonctionnerait comme un charme, vous pouvez également mettre à jour à la dernière version dès que celle-ci est disponible. Le porto est beaucoup plus stable que la bière, bien qu'il ait beaucoup moins de formule et de ports.

Vous pouvez installer MacPorts à partir de https://www.macports.org/install.php, vous pouvez télécharger le fichier .pkg et l’installer.

5
Hammad Haleem

Vous pouvez utiliser curl à la place. Il est installé par défaut dans /usr/bin.

4
James Sumners

wget Mac pré-compilé

Pour ceux qui recherchent une installation rapide de wget sur Mac, découvrez le binaire précompilé de Quentin Stafford-Fraser ici, qui existe depuis plus de 10 ans:

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

MD5 pour 2008 wget.Zip: 24a35d499704eecedd09e0dd52175582
MD5 pour 2005 wget.Zip: c7b48ec3ff929d9bd28ddb87e1a76ffb

Pas de make/install/port/brew/curl junk. Il suffit de télécharger, installer et exécuter. Fonctionne avec Mac OS X 10.3-10.12 +.

2
Beejor