OS X: equivalent van wget van Linux

Hoe kan ik een HTTP GET uitvoeren vanuit een Un*x-shellscript op een standaard OS X-systeem? (software van derden installeren is geen optie, want dit moet op veel verschillende systemen draaien waar ik geen controle over heb).

Als ik bijvoorbeeld de Mercurial-server lokaal start met een hg-server:

... $ hg serve 

En dan, vanaf een Linux die het wgetcommando heeft, doe ik een 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

En op de terminal waarin ik de opdracht “hg serve”lanceerde, kan ik inderdaad zien dat een HTTP GET zijn weg heeft gevonden:

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

Dus op Linux is een manier om een ​​HTTP GET uit een shellscript te doen het gebruik van wget(als dat commando natuurlijk is geïnstalleerd).

Welke andere manieren zijn er om het equivalent van een wgette doen? Ik ben in het bijzonder op zoek naar iets dat zou werken op standaard OS X-installaties.


Antwoord 1, autoriteit 100%

Ik moet zeggen curl http://127.0.0.1:8000 -o outfile


Antwoord 2, autoriteit 64%

brew install wget

Homebrewis een pakketbeheerder voor OSX analoog aan yum, apt-get, choco, emerge, etc. Let op dat u ook Xcode en de Command Line Tools moet installeren. Vrijwel iedereen die de opdrachtregel in OSX gebruikt, wil deze dingen toch installeren.

Als je homebrew niet kunt of wilt gebruiken, kun je ook:

Wget handmatig installeren:

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

Of gebruik een bash-alias:

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

Antwoord 3, autoriteit 12%

Curl heeft een modus die bijna gelijk is aan de standaard wget.

curl -O <url>

Dit werkt net als

wget <url>

En als je wilt, kun je dit toevoegen aan je .bashrc:

alias wget='curl -O'

Het is niet 100% compatibel, maar het werkt voor het meest voorkomende wget-gebruik (IMO)


Antwoord 4, autoriteit 5%

1) op je mac-type

nano /usr/bin/wget

2) plak het volgende in

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

3) sluit en maak het uitvoerbaar

chmod 777 /usr/bin/wget

Dat is het.


Antwoord 5, autoriteit 2%

Gebruik curl;

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

Antwoord 6, autoriteit 2%

Hier is het Mac OS X-equivalent van Linux’s wget.

Voor Linux, bijvoorbeeld Ubuntu op een AWS-instantie, gebruik:

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

Op een Mac, d.w.z. voor lokale ontwikkeling, gebruik dit:

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

De parameter -o is vereist op een Mac voor uitvoer naar een bestand in plaats van op het scherm. Geef een andere doelnaam op voor het hernoemen van het gedownloade bestand.

Gebruik hoofdletter-O voor het hernoemen met wget. Kleine letters -o specificeert het uitvoerbestand voor het overdrachtslogboek.


Antwoord 7

Je kunt wget op de mac-machine bouwen of MacPorts gebruiken om het direct te installeren.

sudo port install wget 

Dit zou werken als een tierelier, en je kunt ook updaten naar de nieuwste versie zodra deze beschikbaar is. Port is veel stabieler dan brouwsel, hoewel het veel minder formules en poorten heeft.

U kunt MacPorts installeren vanaf https://www.macports.org/install.phpu kunt het .pkg-bestand downloaden en installeren.


Antwoord 8

In plaats van het equivalent te gebruiken, kunt u “brew install wget” proberen en wget gebruiken.

Je moet brew op je mac hebben geïnstalleerd.


Antwoord 9

Je zou in plaats daarvan curlkunnen gebruiken. Het wordt standaard geïnstalleerd in /usr/bin.


Antwoord 10

wget vooraf gecompileerd Mac binair

Voor wie op zoek is naar een snelle wget-installatie op Mac, bekijk hier het voorgecompileerde binaire bestand van Quentin Stafford-Fraser, dat al meer dan tien jaar bestaat:

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

MD5 voor wget.zip 2008: 24a35d499704eecedd09e0dd52175582
MD5 voor 2005 wget.zip: c7b48ec3ff929d9bd28ddb87e1a76ffb

Geen make/install/port/brew/curl rommel. Gewoon downloaden, installeren en uitvoeren. Werkt met Mac OS X 10.3-10.12+.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes