Jak uruchomić WGET z PowerShell

Jak uruchomić WGET z PowerShell
„„wget”To narzędzie wiersza poleceń używane do pobierania plików za pomocą najszerzej używanych protokołów internetowych, takich jak HTTP, FTP, HTTPS i FTPS. Ponieważ jest to nieinteraktywne narzędzie wiersza poleceń, można go wywoływać ze skryptów, terminali itp. Czy chcesz pobrać pliki z Internetu, ale nie podoba ci się pomysł klikania linków w kółko? Możesz zautomatyzować ten proces za pomocą PowerShell.

Windows PowerShell to platforma automatyzacji i skryptów. Jest przeznaczony przede wszystkim dla administratorów systemów i specjalistów IT do obsługi i automatyzacji procesów związanych z administracją systemu Windows i jej aplikacjami.

PowerShell obejmuje różne przydatne funkcje i polecenia są dostępne w PowerShell, które są wywoływane CMDLETS. Wersja Microsoft wget jest dostępne jako fundamentalne polecenie w PowerShell (PS) 3.0 znane jako Invoke-Webrequest. Wget istnieje jako pseudonim w Invoke-Webrequest Komenda.

Inwoke-Webrequest Command in PowerShell

Invoke-Webrequest jest nieinteraktywnym pobierającym siecią lub możemy powiedzieć, że jest to polecenie, które pozwala systemowi pobierać pliki z dowolnej witryny w tle bez konieczności zalogowania się użytkownika. Żądania HTTP i HTTPS są wysyłane do określonej usługi internetowej lub strony.

Następnie to polecenie angażuje się w odpowiedź i zwraca kolekcje ważnych komponentów HTML, takich jak obrazy, linki itp. Polecenie Invoke-WebRequest może również kontrolować żądania z poświadczeniami, niezależnie od tego, czy lokalizacja źródła wymaga zalogowania użytkownika.

Napisz poniżej podania polecenie w PowerShell, aby lepiej zrozumieć żądanie wywołania WEB, jego składni i aliasów:

> Invoke-Webrequest -?

Proste żądanie pliku z PowerShell

W tej sekcji spróbujemy wykonać Invoke-Webrequest dla żądań plików. W tym celu określamy URI w następującym poleceniu za pomocą „-Użytebasicparsing" opcja. Ta opcja jest używana do kompatybilności wstecznej. Na przykład, w przypadku, gdy Internet Explorer nie jest zainstalowany ani skonfigurowany.

> Invoke-Webrequest http: // httpbin.org/json -eBasicparsing

CMDLET INVOKE-Webrequest zwróci obiekt odpowiedzi internetowej HTML, który zawiera wiele przydatnych informacji o właściwościach parsowania HTML, takich jak treść surowa, nagłówki, linki, formularze, obrazy i pola wejściowe itp.

Administratorzy mogą korzystać z polecenia Invoke-WebRequest do transportu danych nad sieciami i testowaniem usług przez Internet. Podczas gdy WGET został utworzony z różnorodnymi warunkami sieciowymi, co czyni go doskonałym dla niewiarygodnych połączeń i powolnych systemów. W PowerShell polecenie „WGET” można użyć do wyodrębnienia obiektu internetowego HTML, takiego jak:

Poza tym, inny wget Wykonanie polecenia pokaże następujący błąd w PowerShell:

Lepiej więc wykorzystać „Wywołują Webrequest ”w tym samym celu, który używa„wget„Jako alias.

Wyodrębnienie linków w PowerShell

Możesz także wykorzystać Invoke-Webrequest do wyodrębnienia listy linków, które istnieją w określonym pliku internetowym. "-URI„Opcja jest używana do podania jednolitego identyfikatora zasobów (URI) Twojego zasobu internetowego. Teraz sprawdź polecenie podane poniżej:

> (Invoke -Webrequest -uri "https: // alia.MS/PSCORE6 -DOCS "-SUSBASICPARSING
).Spinki do mankietów.Href

Pobierz dowolny plik ze strony internetowej z PowerShell

Widzieliśmy metodę żądania pliku i wyodrębnienia linków z Internetu za pomocą Invoke-WebRequest. Teraz przejdziemy naprzód, aby pobrać kompletny plik z określonego URI. W tym celu wykonamy skrypt PowerShell. Otwórz więc Windows PowerShell ISE i utwórz nowy plik.

Następnie napisz poniższy kod w skrypcie PowerShell. Określ URI w „$ źródło" zmienny. "$ docelowe”Wskazuje ścieżkę, w której ten plik zostanie umieszczony po pobraniu. "-Outfile„Opcja służy do określenia pliku wyjściowego, w którym polecenie Invoke-WebRequest zapisuje swoją odpowiedź.

$ source = 'http: // speedtest.Tele2.Net/10 MB.zamek błyskawiczny'
$ destying = 'e: \ pobierz \ 10mb.zamek błyskawiczny'
Invoke -WebRequest -uri $ Źródło -utfile $ docelowe

Zapisz plik jako „testFile1.PS1”I uruchom ten skrypt PowerShell.

Bezbłędne wyjście deklaruje, że plik jest pomyślnie pobierany. Aby potwierdzić obecność pliku, użyj „Get-ChildItem”CMDLET do przeglądania zawartości określonego folderu:

> Get-childitem „e: \ pobierz”

Wysyłanie wniosków internetowych z PowerShell

Teraz napiszemy skrypt, aby wysłać prośbę internetową na stronę „Bing.com.”Polecenie Invoke-WebRequest wyda żądanie do określonej witryny. Następnie odpowiedź witryny zostanie zapisana w „$ Odpowiedź" zmienny.

Następne polecenie wyodrębnie wartości zgłoszone i przerzuci je do Select-Obiect Korzystanie z operatora rur [„|”].

$ Response = invoke -Webrequest -uri https: // www.Bing.com/wyszukiwanie?q = jak+wiele stóp+w+a+milę
$ Odpowiedź.InputFields | Gdzie-obiekt
$ _.Nazwa -jak „* wartość*”
| Nazwa wyboru, wartość

Wykonanie „testFile2.PS1 ”pokaże następujące dane wyjściowe:

Jeśli otrzymasz błąd pokazany w poniżej podanym wyjściu, użyj „-Użytebasicparsing„Opcja po określaniu URI w poleceniu Invoke-WebRequest.

$ Response = invoke -Webrequest -uri https: // www.Bing.com/wyszukiwanie?q = jak+wiele stóp+w+a+mil -eBasicparsing
$ Odpowiedź.InputFields | Gdzie-obiekt
$ _.Nazwa -jak „* wartość*”
| Nazwa wyboru, wartość

Teraz wykonaj ten sam skrypt z wymienionymi zmianami, a otrzymasz wyjście bezbłędne.

Wniosek

Większość użytkowników jest zmęczona pobieraniem plików, klikając w kółko. Ten proces wymaga również twojego zaangażowania i cennego czasu. Możesz teraz użyć PowerShell Aby zautomatyzować tę procedurę pobierania, która pomaga być bardziej produktywnym i umożliwia angażowanie się w inne działania, gdy pliki pobierają.

PowerShell zapewnia kilka przydatnych poleceń znanych jako CMDLETS; Invoke-Webrequest jest jednym z nich. Możesz uruchomić WGED z PowerShell, który jest aliasem dla polecenia Invoke-Webrequest. W tym artykule pokazano metody żądania, wysyłania i pobierania pliku internetowego, wyodrębniania linków z Internetu.