632 votes

OS X: l'équivalent de Linux wget

Comment puis-je faire une demande HTTP GET de l'Onu*x script shell sur un stock système OS X? (l'installation de logiciels tiers n'est pas une option, c'est de courir sur un grand nombre de systèmes différents, je n'ai pas de contrôle sur).

Par exemple, si je commence à l'Mercurial localement au serveur de faire un hg servir:

... $ hg serve 

Et puis, à partir d'un Linux qui a le wget commande 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é le "hg servir" de commande, je peux en effet voir que un HTTP GET 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 une demande HTTP GET à partir d'un script shell est d'utiliser wget (si la commande est installé bien sûr).

Quels sont les autres moyens sont là pour faire l'équivalent d'un wget? Je suis à la recherche, en particulier, pour quelque chose qui pourrait fonctionner sur stock OS X installe.

892voto

SiegeX Points 32614

Je vais avoir à dire

curl "http://127.0.0.1:8000" -o "outfile"

curl dans OS X Mavericks attend les guillemets pour les URL et nom du fichier de sortie, surtout si l'URL contient des paramètres.

590voto

Eric Hartford Points 1248

brew install wget

Homebrew est un gestionnaire de paquets pour OSX analogue à yum, apt-get, sortir, etc. Sachez que vous aurez également besoin d'installer Xcode et les Outils de Ligne de Commande. Pratiquement n'importe qui qui utilise la ligne de commande dans OSX voulez installer ces choses de toute façon.

106voto

user3180883 Points 181

Le roulage est un mode qui est presque équivalent à la valeur par défaut de wget.

curl -O <url>

Cela fonctionne exactement comme

wget <url>

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

alias wget='curl -O'

Il n'est pas 100% compatible, mais il fonctionne pour la plupart des communes de l'utilisation de wget (OMI)

44voto

Eamon Straughn Points 71

1) sur votre mac type

nano /usr/bin/wget

2) collez le texte suivant dans

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

3) fermez, puis le rendre exécutable

chmod 777 /usr/bin/wget

C'est tout.

19voto

ismail Points 19146

Utiliser curl;

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X