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.