it-swarm.com.de

OS X: Entspricht der Linux-Version

Wie kann ich ein HTTP GET von einem Un * x Shell-Skript auf einem Standard-OS X-System ausführen? (Die Installation von Software von Drittanbietern ist keine Option, da dies auf vielen verschiedenen Systemen ausgeführt werden muss, auf denen ich keine Kontrolle habe.).

Zum Beispiel, wenn ich den Mercurial-Server lokal starte und einen hg-Serve mache:

... $ hg serve 

Und dann mache ich unter Linux mit dem Befehl wget ein 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

Und auf dem Terminal, in dem ich den Befehl "hg serve" gestartet habe, kann ich tatsächlich feststellen, dass ein HTTP-GET seinen Weg gefunden hat:

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

Unter Linux besteht eine Möglichkeit, ein HTTP-GET über ein Shell-Skript auszuführen, darin, wget zu verwenden (sofern dieser Befehl natürlich installiert ist).

Welche anderen Möglichkeiten gibt es, um das Äquivalent eines wget zu tun? Ich suche insbesondere nach etwas, das auf Lager OS X-Installationen funktionieren würde.

462
SyntaxT3rr0r

Ich muss curl http://127.0.0.1:8000 -o outfile sagen

657
SiegeX

brew install wget

Homebrew ist ein Paketmanager für OSX analog zu yum, apt-get, choco, emerge usw. Beachten Sie, dass Sie auch Xcode und die Command Line Tools installieren müssen. Praktisch jeder, der die Befehlszeile in OSX verwendet, wird diese Dinge trotzdem installieren wollen.

Wenn Sie Homebrew nicht verwenden können oder möchten, können Sie auch:

Wget manuell installieren:

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

Oder verwenden Sie einen Bash-Alias:

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

Curl hat einen Modus, der fast dem Standard-Wget entspricht.

curl -O <url>

Das funktioniert genauso

wget <url>

Und wenn Sie möchten, können Sie dies zu Ihrer .bashrc-Datei hinzufügen:

alias wget='curl -O'

Es ist nicht 100% kompatibel, aber es funktioniert für die gängigste Wget-Nutzung (IMO)

80
Ed Henderson

1) auf Ihrem Mac-Typ

nano /usr/bin/wget

2) Fügen Sie Folgendes ein

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

3) schließen und dann ausführbar machen

chmod 777 /usr/bin/wget

Das ist es.

39
Eamon Straughn

Verwende curl;

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

Hier ist das Mac OS X-Äquivalent zu Linuxs wget.

Für Linux, zum Beispiel Ubuntu auf einer AWS-Instanz, verwenden Sie:

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

Verwenden Sie auf einem Mac, d. H. Für die lokale Entwicklung, Folgendes:

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

Der Parameter -o wird auf einem Mac für die Ausgabe in eine Datei anstelle auf dem Bildschirm benötigt. Geben Sie einen anderen Zielnamen zum Umbenennen der heruntergeladenen Datei an.

Verwenden Sie groß -O zum Umbenennen mit wget. Mit Kleinbuchstaben -o wird die Ausgabedatei für das Übertragungsprotokoll angegeben.

10
Oliver Schafeld

Anstatt gleichwertig zu sein, können Sie "brew install wget" ausprobieren und wget verwenden.

Sie müssen Brew auf Ihrem Mac installiert haben.

6
Jaya Konduru

Sie können wget entweder auf dem Mac-Computer erstellen oder MacPorts verwenden, um es direkt zu installieren.

Sudo port install wget 

Dies würde wie ein Zauber funktionieren. Sie können auch auf die neueste Version aktualisieren, sobald diese verfügbar ist. Port ist viel stabiler als Brauen, obwohl es viel weniger Rezepturen und Ports gibt.

Sie können MacPorts von https://www.macports.org/install.php installieren. Sie können die Datei .pkg herunterladen und installieren.

5
Hammad Haleem

Sie könnten stattdessen curl verwenden. Es wird standardmäßig in /usr/bin installiert.

4
James Sumners

wget Vorkompilierter Mac Binary

Für diejenigen, die eine schnelle Installation auf einem Mac suchen, sehen Sie sich hier die vorkompilierte Binärdatei von Quentin Stafford-Fraser an, die es schon seit über einem Jahrzehnt gibt:

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

MD5 für 2008 wget.Zip: 24a35d499704eecedd09e0dd52175582
MD5 für 2005 wget.Zip: c7b48ec3ff929d9bd28ddb87e1a76ffb

Kein Make/Install/Port/Brew/Curl Junk. Einfach herunterladen, installieren und ausführen. Funktioniert mit Mac OS X 10.3-10.12 +.

2
Beejor