Wie man WGE aus PowerShell ausführt

Wie man WGE aus PowerShell ausführt
Der "wgetIst ein Befehlszeilen -Dienstprogramm, das zum Abrufen von Dateien über die am häufigsten verwendeten Internetprotokolle wie HTTP, FTP, HTTPS und FTPS verwendet wird. Da es sich um ein nicht interaktives Befehlszeilen-Tool handelt, kann es aus Skripten, Terminals usw. aufgerufen werden. Möchten Sie Dateien aus dem Internet herunterladen, aber die Idee, immer wieder Links zu klicken? Sie können diesen Vorgang durch Verwendung automatisieren Power Shell.

Windows PowerShell ist eine Automatisierungs- und Skriptplattform. Es ist hauptsächlich für Systemadministratoren und IT -Fachkräfte vorgesehen.

PowerShell umfasst verschiedene nützliche Funktionen und Befehle sind in PowerShell verfügbar, die genannt werden cmdlets. Die Microsoft -Version von wget ist als grundlegender Befehl in PowerShell (PS) 3 erhältlich.0 bekannt als Invoke-WebRequest. Das WGE existiert als Alias ​​in der Invoke-WebRequest Befehl.

In Powershell einbeziehen WebRequest-Befehl

Invoke-WebRequest ist ein nicht interaktiver Netzwerk-Downloader, oder wir können sagen, dass es sich um einen Befehl handelt, der ein System zum Herunterladen von Dateien von jeder Website im Hintergrund ermöglicht, ohne dass ein Benutzer sich anmelden muss. HTTP- und HTTPS -Anfragen werden an den spezifischen Webdienst oder an die Seite gesendet.

Danach analysiert dieser Befehl die Anforderungsantwort und gibt Sammlungen wichtiger HTML-Komponenten wie Bilder, Links usw. zurück. Der Befehl "Invoke-WebRequest" kann auch Anfragen mit Anmeldeinformationen steuern.

Schreiben Sie den folgenden Befehl in Ihrem PowerShell auf, um ein besseres Verständnis für die Invoke-Web-Anfrage, seine Syntax und Aliase zu haben:

> Invoke-WebRequest -?

Eine einfache Dateianfrage mit PowerShell

In diesem Abschnitt werden wir versuchen, die auszuführen Invoke-WebRequest für Dateianfragen. Dafür werden wir den URI im folgenden Befehl mit dem “angeben-UseBasicParsing" Möglichkeit. Diese Option wird für die Rückwärtskompatibilität verwendet. Zum Beispiel in einem Fall, in dem Internet Explorer nicht installiert oder konfiguriert ist.

> Invoke-WebRequest http: // httpbin.org/json -UseBasicparsing

Das CMDLET von Invoke-WebRequest gibt ein HTML-Web-Antwortobjekt zurück, das viele hilfreiche Informationen zu den HTML-Parsen-Eigenschaften wie Rohinhalten, Header, Links, Formularen, Bildern und Eingabefeldern usw. enthält.

Administratoren können den Befehl Invoke-WebRequest verwenden, um Daten über Netzwerke und Testdienste über das Internet zu transportieren. Während WGet mit unterschiedlichen Netzwerkbedingungen erstellt wurde, was es für unzuverlässige Verbindungen und langsame Systeme hervorragend macht. In PowerShell kann der Befehl „wGet“ verwendet werden, um ein HTML -Webobjekt zu extrahieren, wie z. B.:

Anders als dies alle anderen wget Die Befehlsausführung zeigt Ihnen den folgenden Fehler in Ihrem PowerShell:

Es ist also besser zu verwenden “Invoke-Webrequest ”für denselben Zweck, der verwendet“wget”Als Alias.

Extrahieren von Links in PowerShell

Sie können auch nutzen Invoke-WebRequest zum Extrahieren einer Liste von Links, die in einer bestimmten Webdatei vorhanden sind. “-UriDie Option wird verwendet, um die Einheitliche Ressourcenkennung (URI) Ihrer Internetressource anzugeben. Überprüfen Sie nun den unten angegebenen Befehl:

> (Invoke -WebRequest -uri "https: // aka.MS/PSCORE6 -DOCS "-Untenbasicparsing
).Links.Href

Laden Sie eine Datei von der Website mit PowerShell herunter

Wir haben die Methode zum Anfordern einer Datei und das Extrahieren von Links aus dem Web mithilfe von Invoke-WebRequest gesehen. Jetzt werden wir vorwärts gehen, um eine vollständige Datei aus dem angegebenen URI herunterzuladen. Wir werden für diesen Zweck ein PowerShell -Skript ausführen. Öffnen Sie also Ihre Windows PowerShell ISE und erstellen Sie eine neue Datei.

Schreiben Sie danach den folgenden Code in Ihr PowerShell-Skript auf. Geben Sie den URI in der “an“$ Quelle”Variable. “$ Ziel”Zeigt den Pfad an, in dem diese Datei nach dem Herunterladen platziert wird. “-OutfileDie Option wird verwendet, um die Ausgabedatei anzugeben, auf der der Befehl "Invoke-WebRequest" seine Antwort speichert.

$ source = 'http: // speedtest.Tele2.net/10mb.Reißverschluss'
$ destination = 'e: \ download \ 10mb.Reißverschluss'
Invoke -WebRequest -uri $ Source -outfile $ destination

Speichern Sie die Datei als "TestFile1.PS1Und führen Sie dieses PowerShell -Skript aus.

Die fehlerfreie Ausgabe erklärt, dass die Datei erfolgreich heruntergeladen wird. Um die Dateipräsenz zu bestätigen, verwenden Sie die “Get-Childitem”CMDLET zum Anzeigen des Inhalts des angegebenen Ordners:

> Get-Childitem "E: \ Download"

Senden von Webanfragen mit PowerShell

Jetzt schreiben wir ein Skript, um eine Webanforderung an die Website zu senden “Bing.com.”Invoke-WebRequest-Befehl gibt die Anfrage an die angegebene Site aus. Danach wird die Website der Website auf dem "gespeichert" gespeichert$ Antwort”Variable.

Der nächste Befehl extrahiert die eingabebedingten Werte und leitet sie an die Select-Object mit dem Rohroperator ["|"].

$ Response = invoke -WebRequest -uri https: // www.Bing.com/such?Q = Wie+viele+Fuß+in+a+meile
$ Antwort.Inputfields | Wo-objekt
$ _.Name -Like "* Wert*"
| Name des SELECT-Objekts, Wert

Ausführung des „TestFile2.PS1 ”zeigt Ihnen die folgende Ausgabe:

Wenn Sie den in der untergegebenen Ausgabe angezeigten Fehler erhalten, verwenden Sie die “-UseBasicParsingOption nach Angabe des URI im Befehl Invoke-WebRequest.

$ Response = invoke -WebRequest -uri https: // www.Bing.com/such?Q = Wie+viele+Fuß+in+a+mile -UseBasicParsing
$ Antwort.Inputfields | Wo-objekt
$ _.Name -Like "* Wert*"
| Name des SELECT-Objekts, Wert

Führen Sie nun dasselbe Skript mit den genannten Änderungen aus, und Sie erhalten die fehlerfreie Ausgabe.

Abschluss

Die meisten Benutzer werden müde, die Dateien zu laden, indem sie immer wieder klicken. Dieser Prozess erfordert auch Ihr Engagement und Ihre kostbare Zeit. Sie können jetzt verwenden Power Shell Um diese Download -Prozedur zu automatisieren, die Sie dazu beiträgt, produktiver zu sein, und Sie können sich an anderen Aktivitäten durchführen, wenn Ihre Dateien heruntergeladen werden.

PowerShell liefert mehrere nützliche Befehle, die als als bekannt sind cmdlets; Invoke-WebRequest Ist einer von ihnen. Sie können WGE. In diesem Artikel wurden die Methoden zum Anfragen, Senden und Herunterladen einer Webdatei angezeigt, das Links aus dem Web extrahiert.