2017-05-01 1 views
0

Ich brauche eine CSV-Datei über einen HTML-Link (z. B. www.abc.com/test.csv) herunterladen, aber ich kann nicht auf meinem AIX-aromatisierten UNIX-Server mit Wget.Herunterladen von CSV unter AIX - Alternativen zu wget?

Leider wget ist nicht für meinen Server geladen und somit schlägt die Verwendung der oben genannten immer mit "Konnte nicht Programm wget".

Gibt es eine Alternative, die ich ausprobieren könnte? Ich weiß, ich könnte einfach versuchen, wget auf dem Server zu installieren, aber als ein Benutzer wird es nicht von mir verwaltet und ich werde nicht die Berechtigungen haben, dies zu tun.

Danke für jede Hilfe!

+0

Benötigt die Website SS/TLS/HTTPS? – ashawley

+0

Es erfordert HTTPS - ja –

+0

Nun, Sie können nicht Telnet verwenden, dann. – ashawley

Antwort

0

Wenn Sie openssl haben, dann könnten Sie verbinden es

$ (echo "GET /test.csv HTTP/1.1"; 
    echo "Host: www.abc.com"; 
    echo "User-Agent: $(openssl version)/$(bash --version | head -n 1) "; 
    echo "Connection: close"; 
    echo; echo; 
    sleep 1) | openssl s_client -connect 172.16.254.1:443 

mit Und dann, wenn Sie die Datei ein wenig mit sed, man konnte zu extrahieren versuchen wollen:

(echo "GET /test.csv HTTP/1.1"; 
    echo "Host: www.abc.com"; 
    echo "User-Agent: $(openssl version)/$(bash --version | head -n 1) "; 
    echo "Connection: close"; 
    echo; echo; 
    sleep 1) | openssl s_client -connect 172.16.254.1:443 \ 
      | sed -ne '/^HTTP\/1.1/,$p' \ 
      | sed -ne '/^\r$/,$p' \ 
      | sed 1,2d > test.csv 

Wenn die \r funktioniert nicht, dann müssen Sie einen Wagenrücklauf manuell in der Shell eingeben. Dies ist in der Regel ^V^M (Ctrl +V dann Ctrl +M)

Das habe ich nicht testen, auf einem AIX-Server, dies auf eigene Gefahr.

Wenn die User-Agent-Leitung Probleme verursacht, löschen Sie sie einfach.

+0

Ich habe ssl, damit dies funktioniert. Leider ist das nächste Problem, dass ich in einem privaten Netzwerk bin - und die Domain, auf die ich versuche zuzugreifen, sieht so aus, als würde ssl eine IP benötigen. Ich werde sehen, ob ich sammeln kann und lassen Sie wissen, ob das funktioniert :) Vielen Dank! –

+0

Also dann benutze die IP in der '-Connect' – ashawley

0

Dieser ist schwer zu beantworten, aber es gab ein paar Dinge, die ich zu diesem Thema entdeckt habe.

Wenn es um die Verwendung von wget geht, konnte ich dies nicht tun, da das Paket nicht verfügbar war. Obwohl ich in der Lage war, meinen UNIX-Administrator zu kontaktieren und ihn für den Gebrauch installieren zu lassen, der das Problem ziemlich gut löste.

Allerdings verstehe ich, dass dies keine angemessene Lösung für alle sein wird. Nachdem ich mit curl und openssl herumgespielt habe, habe ich festgestellt, dass man dasselbe wie wget erreichen kann, aber mit etwas mehr Arbeit.

Nur Problem Ich lebe oben auf ist ich nicht in der Lage, eine Verbindung mit dem tatsächlichen Host - halten Verbindung abgelehnt, aber das ist wahrscheinlich aufgrund von Firewall-Probleme an meinem Ende.

Verwandte Themen