Invoke-WebRequest
Pobiera zawartość ze strony internetowej w Internecie.
Składnia
Default (domyślnie)
Invoke-WebRequest
[-UseBasicParsing]
[-Uri] <Uri>
[-WebSession <WebRequestSession>]
[-SessionVariable <String>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-CertificateThumbprint <String>]
[-Certificate <X509Certificate>]
[-UserAgent <String>]
[-DisableKeepAlive]
[-TimeoutSec <Int32>]
[-Headers <IDictionary>]
[-MaximumRedirection <Int32>]
[-Method <WebRequestMethod>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-ProxyUseDefaultCredentials]
[-Body <Object>]
[-ContentType <String>]
[-TransferEncoding <String>]
[-InFile <String>]
[-OutFile <String>]
[-PassThru]
[<CommonParameters>]
Opis
Polecenie cmdlet Invoke-WebRequest wysyła żądania HTTP, HTTPS, FTP i FILE do strony internetowej lub usługi internetowej. Analizuje odpowiedź i zwraca kolekcje formularzy, linków, obrazów i innych znaczących elementów HTML.
To cmdlet zostało wprowadzone w Windows PowerShell 3.0.
Ostrzeżenie
Domyślnie Invoke-WebRequest analizuje zawartość strony internetowej. Kod skryptu na stronie internetowej może być uruchamiany po przeanalizowaniu strony. Użyj przełącznika , -UseBasicParsing aby uniknąć wykonywania kodu skryptu.
To polecenie można uruchomić przy użyciu iwraliasów , curllub wget .
Przykłady
Przykład 1. Wysyłanie żądania internetowego
W tym przykładzie użyto Invoke-WebRequest polecenia cmdlet do wysłania żądania internetowego do witryny Bing.com.
$Response = Invoke-WebRequest -UseBasicParsing -Uri https://www.bing.com?q=how+many+feet+in+a+mile
$Response.InputFields |
Where-Object Name -Like "* Value" |
Select-Object Name, Value
Name Value
---- -----
From Value 1
To Value 5280
Dane zwracane przez Invoke-WebRequest program są przechowywane w zmiennej $Response . Właściwość InputFields odpowiedzi zawiera pola formularza.
Where-Object służy do filtrowania pól formularza na pola, w których właściwość nazwa jest podobna do "* Wartość". Przefiltrowane wyniki są przesyłane potokiem, aby Select-Object wybrać właściwości Nazwa i Wartość .
Przykład 2. Używanie stanowej usługi internetowej
W tym przykładzie pokazano, jak używać polecenia cmdlet Invoke-WebRequest z stanową usługą internetową, taką jak Facebook.
$R = Invoke-WebRequest https://www.facebook.com/login.php -SessionVariable fb
# This command stores the first form in the Forms property of the $R variable in the $Form variable.
$Form = $R.Forms[0]
# This command shows the fields available in the form.
$Form.Fields
Key Value
--- -----
...
email
pass
...
# These commands populate the username and password of the respective form fields.
$Form.Fields["email"]="User01@Fabrikam.com"
$Form.Fields["pass"]="P@ssw0rd"
# This command creates the Uri that will be used to log in to facebook.
# The value of the Uri parameter is the value of the Action property of the form.
$Uri = "https://www.facebook.com" + $Form.Action
# Now the Invoke-WebRequest cmdlet is used to sign into the Facebook web service.
# The WebRequestSession object in the $FB variable is passed as the value of the WebSession parameter.
# The value of the Body parameter is the hash table in the Fields property of the form.
# The value of the *Method* parameter is POST. The command saves the output in the $R variable.
$R = Invoke-WebRequest -Uri $Uri -WebSession $FB -Method Post -Body $Form.Fields
$R.StatusDescription
Pierwsze polecenie używa polecenia cmdlet Invoke-WebRequest do wysyłania żądania logowania. Polecenie określa wartość "FB" dla wartości parametru SessionVariable i zapisuje wynik w zmiennej $R. Po zakończeniu wykonywania polecenia zmienna $R zawiera HtmlWebResponseObject, a zmienna $FB zawiera obiekt WebRequestSession.
Po zalogowaniu Invoke-WebRequest polecenia cmdlet do serwisu facebook właściwość StatusDescription obiektu odpowiedzi internetowej w zmiennej $R wskazuje, że użytkownik jest zalogowany pomyślnie.
Przykład 3. Pobieranie linków ze strony internetowej
To polecenie pobiera linki na stronie internetowej.
(Invoke-WebRequest -Uri "https://devblogs.microsoft.com/powershell/").Links.Href
Polecenie cmdlet Invoke-WebRequest pobiera zawartość strony internetowej. Następnie właściwość Links zwróconej HtmlWebResponseObject służy do wyświetlania właściwości Href każdego łącza.
Przykład 4. Przechwytywanie komunikatów o niepowodzeniu powodzenia z Invoke-WebRequest
Gdy Invoke-WebRequest napotka komunikat HTTP bez powodzenia (404, 500 itp.), zwraca brak danych wyjściowych i zgłasza błąd zakończenia. Aby przechwycić błąd i wyświetlić StatusCode można ująć wykonywanie w bloku try/catch.
try
{
$Response = Invoke-WebRequest -Uri "www.microsoft.com/unkownhost"
# This will only execute if the Invoke-WebRequest is successful.
$StatusCode = $Response.StatusCode
}
catch
{
$StatusCode = $_.Exception.Response.StatusCode.value__
}
$StatusCode
404
Błąd zakończenia jest przechwycony przez catch blok, który pobiera kod stanu z obiektu Exception .
Przykład 5. Pobieranie wielu plików w tym samym czasie
Polecenie Invoke-WebRequest cmdlet może pobrać tylko jeden plik naraz. W poniższym przykładzie użyto Start-ThreadJob metody do utworzenia wielu zadań wątku w celu pobrania wielu plików w tym samym czasie.
$baseUri = 'https://github.com/PowerShell/PowerShell/releases/download'
$files = @(
@{
Uri = "$baseUri/v7.3.0-preview.5/PowerShell-7.3.0-preview.5-win-x64.msi"
OutFile = 'PowerShell-7.3.0-preview.5-win-x64.msi'
},
@{
Uri = "$baseUri/v7.3.0-preview.5/PowerShell-7.3.0-preview.5-win-x64.zip"
OutFile = 'PowerShell-7.3.0-preview.5-win-x64.zip'
},
@{
Uri = "$baseUri/v7.2.5/PowerShell-7.2.5-win-x64.msi"
OutFile = 'PowerShell-7.2.5-win-x64.msi'
},
@{
Uri = "$baseUri/v7.2.5/PowerShell-7.2.5-win-x64.zip"
OutFile = 'PowerShell-7.2.5-win-x64.zip'
}
)
$jobs = @()
foreach ($file in $files) {
$jobs += Start-ThreadJob -Name $file.OutFile -ScriptBlock {
$params = $Using:file
Invoke-WebRequest @params
}
}
Write-Host "Downloads started..."
Wait-Job -Job $jobs
foreach ($job in $jobs) {
Receive-Job -Job $job
}
Uwaga / Notatka
Aby użyć Start-ThreadJob polecenia cmdlet, należy zainstalować moduł ThreadJob z Galeria programu PowerShell.
Parametry
-Body
Określa treść żądania. Ciało to zawartość żądania, które następuje po nagłówkach.
Możesz również przekazać wartość ciała do Invoke-WebRequest.
Parametr Ciało może być użyty do określania listy parametrów zapytania lub zawartości odpowiedzi.
Gdy dane wejściowe są żądaniem GET, a treść to IDictionary (zazwyczaj tabela skrótów), jest ona dodawana do identyfikatora URI jako parametry zapytania. W przypadku innych typów żądań (takich jak POST) treść jest ustawiana jako wartość treści żądania w formacie standardowym name=value .
Gdy treść jest formularzem lub jest to dane wyjściowe wywołania Invoke-WebRequest, program PowerShell ustawia zawartość żądania na pola formularza.
Przykład:
$r = Invoke-WebRequest https://website.com/login.aspx
$r.Forms[0].Name = "MyName"
$r.Forms[0].Password = "MyPassword"
Invoke-RestMethod https://website.com/service.aspx -Body $r
- lub-
Invoke-RestMethod https://website.com/service.aspx -Body $r.Forms[0]
Właściwości parametru
| Typ: | Object |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Certificate
Określa certyfikat klienta używany na potrzeby bezpiecznego żądania internetowego. Wprowadź zmienną zawierającą certyfikat, polecenie lub wyrażenie, które uzyskuje certyfikat.
Aby znaleźć certyfikat, użyj Get-PfxCertificate lub użyj polecenia cmdlet Get-ChildItem na dysku Certificate (Cert:). Jeśli certyfikat jest nieprawidłowy lub nie ma wystarczającego autorytetu, polecenie kończy się niepowodzeniem.
Właściwości parametru
| Typ: | X509Certificate |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-CertificateThumbprint
Określa cyfrowy certyfikat klucza publicznego (X509) konta użytkownika z uprawnieniami do wysyłania żądania. Wprowadź odcisk palca certyfikatu.
Certyfikaty są używane w uwierzytelnianiu opartym na certyfikatach klienta. Certyfikaty można mapować tylko na konta użytkowników lokalnych, a nie na konta domeny.
Aby wyświetlić odcisk palca certyfikatu, użyj polecenia Get-Item lub Get-ChildItem, aby znaleźć certyfikat w Cert:\CurrentUser\My.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-ContentType
Określa typ zawartości żądania internetowego.
Jeśli wartość ContentType zawiera format kodowania (jak charset), polecenie cmdlet używa tego formatu do kodowania treści żądania internetowego. Jeśli ContentType nie określi formatu kodowania, zostanie użyty domyślny format kodowania. Przykładem ContentType z formatem kodowania jest text/plain; charset=iso-8859-5, który określa alfabet łaciński/cyrylica.
Jeśli pominięto parametr, typ zawartości może być inny w zależności od używanej metody HTTP:
- W przypadku metody POST typ zawartości jest
application/x-www-form-urlencoded - W przypadku metody PUT typ zawartości to
application/json - W przypadku innych metod typ zawartości nie jest określony w żądaniu
Jeśli używasz parametru InFile do przekazania pliku, należy ustawić typ zawartości.
Zazwyczaj typ powinien być application/octet-stream. Należy jednak ustawić typ zawartości na podstawie wymagań punktu końcowego.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Credential
Określa konto użytkownika, które ma uprawnienia do wysyłania żądania. Wartość domyślna to bieżący użytkownik.
Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential wygenerowany przez polecenie cmdlet Get-Credential.
Poświadczenia są przechowywane w obiekcie PSCredential, a hasło jest przechowywane jako SecureString.
Uwaga / Notatka
Aby uzyskać więcej informacji na temat ochrony danych SecureString, zobacz Jak bezpieczny jest protokół SecureString?.
Właściwości parametru
| Typ: | PSCredential |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-DisableKeepAlive
Wskazuje, że polecenie cmdlet ustawia wartość KeepAlive w nagłówku HTTP na wartość False. Domyślnie KeepAlive jest true. KeepAlive ustanawia trwałe połączenie z serwerem w celu ułatwienia kolejnych żądań.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Headers
Określa nagłówki żądania internetowego. Wprowadź tabelę skrótu lub słownik.
Aby ustawić
Właściwości parametru
| Typ: | IDictionary |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-InFile
Pobiera zawartość treści żądania internetowego z pliku. Wprowadź ścieżkę i nazwę pliku. Jeśli pominięto ścieżkę, wartość domyślna to bieżąca lokalizacja.
Należy również ustawić typ zawartości żądania. Aby na przykład przekazać plik, należy ustawić typ zawartości. Zazwyczaj typ powinien być application/octet-stream. Należy jednak ustawić typ zawartości na podstawie wymagań punktu końcowego.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-MaximumRedirection
Określa, ile razy program PowerShell przekierowuje połączenie z alternatywnym identyfikatorem URI (Uniform Resource Identifier) przed niepowodzeniem połączenia. Wartość domyślna to 5. Wartość 0 (zero) uniemożliwia wszystkie przekierowania.
Właściwości parametru
| Typ: | Int32 |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Method
Określa metodę używaną dla żądania internetowego. Dopuszczalne wartości tego parametru to:
DefaultDeleteGetHeadMergeOptionsPatchPostPutTrace
Właściwości parametru
| Typ: | WebRequestMethod |
| Domyślna wartość: | None |
| Dopuszczalne wartości: | Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-OutFile
Określa plik wyjściowy, dla którego to polecenie cmdlet zapisuje treść odpowiedzi. Wprowadź ścieżkę i nazwę pliku. Jeśli pominięto ścieżkę, wartość domyślna to bieżąca lokalizacja.
Domyślnie Invoke-WebRequest zwraca wyniki do potoku. Aby wysłać wyniki do pliku i do potoku, użyj parametru PassThru .
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-PassThru
Wskazuje, że polecenie cmdlet zwraca wyniki oprócz zapisywania ich w pliku. Ten parametr jest prawidłowy tylko wtedy, gdy parametr OutFile jest również używany w poleceniu .
Uwaga / Notatka
Jeśli używasz parametru PassThru, wynik jest zapisywany do potoku, ale plik jest pusty. Aby uzyskać więcej informacji, zobacz problem z programem PowerShell #15409.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Proxy
Określa serwer proxy dla żądania, zamiast łączyć się bezpośrednio z zasobem internetowym. Wprowadź identyfikator URI serwera proxy sieciowego.
Właściwości parametru
| Typ: | Uri |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-ProxyCredential
Określa konto użytkownika, które ma uprawnienia do korzystania z serwera proxy określonego przez parametr proxy . Wartość domyślna to bieżący użytkownik.
Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential, taki jak jeden wygenerowany przez polecenie cmdlet Get-Credential.
Ten parametr jest prawidłowy tylko wtedy, gdy parametr serwera proxy jest również używany w poleceniu . Nie można użyć parametrów ProxyCredential i ProxyUseDefaultCredentials w tym samym poleceniu.
Właściwości parametru
| Typ: | PSCredential |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-ProxyUseDefaultCredentials
Wskazuje, że polecenie cmdlet używa poświadczeń bieżącego użytkownika w celu uzyskania dostępu do serwera proxy określonego przez parametr serwera proxy
Ten parametr jest prawidłowy tylko wtedy, gdy parametr serwera proxy jest również używany w poleceniu . Nie można użyć parametrów ProxyCredential i ProxyUseDefaultCredentials w tym samym poleceniu.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-SessionVariable
Określa zmienną, dla której to polecenie cmdlet tworzy sesję żądania internetowego i zapisuje je w wartości.
Wprowadź nazwę zmiennej bez symbolu znaku dolara ($).
Po określeniu zmiennej sesji Invoke-WebRequest tworzy obiekt sesji żądania sieci Web i przypisuje go do zmiennej o określonej nazwie w sesji programu PowerShell. Możesz użyć zmiennej w sesji, gdy tylko polecenie zostanie ukończone.
W przeciwieństwie do sesji zdalnej sesja żądania sieci Web nie jest trwałym połączeniem. Jest to obiekt, który zawiera informacje o połączeniu i żądaniu, w tym pliki cookie, poświadczenia, maksymalną wartość przekierowania i parametry agenta użytkownika. Możesz używać tego do udostępniania stanu i danych między żądaniami HTTP.
Aby użyć sesji żądania sieci Web w kolejnych żądaniach sieci Web, określ zmienną sesji w wartości parametru WebSession. Program PowerShell używa danych w obiekcie sesji żądania internetowego podczas nawiązywania nowego połączenia. Aby zastąpić wartość w sesji żądania internetowego, użyj parametru cmdlet, takiego jak UserAgent lub Credential. Wartości parametrów mają pierwszeństwo przed wartościami w sesji żądania internetowego.
Nie można użyć parametrów SessionVariable i WebSession w tym samym poleceniu.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | SV |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-TimeoutSec
Określa, jak długo żądanie może być oczekiwane, zanim upłynie limit czasu. Wprowadź wartość w sekundach. Wartość domyślna 0 określa limit czasu nieokreślony.
Zapytanie systemu nazw domen (DNS) może potrwać do 15 sekund, aby zwrócić lub upłynął limit czasu. Jeśli żądanie zawiera nazwę hosta, która wymaga rozwiązania, a ustawienie TimeoutSec na wartość większą niż zero, ale mniej niż 15 sekund, może upłynąć 15 sekund lub więcej, zanim zostanie zgłoszony WebException i limit czasu żądania.
Właściwości parametru
| Typ: | Int32 |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-TransferEncoding
Określa wartość dla nagłówka odpowiedzi HTTP kodowania transferu. Dopuszczalne wartości tego parametru to:
ChunkedCompressDeflateGZipIdentity
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Dopuszczalne wartości: | chunked, compress, deflate, gzip, identity |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Uri
Określa identyfikator URI (Uniform Resource Identifier) zasobu internetowego, do którego jest wysyłane żądanie internetowe. Wprowadź identyfikator URI. Ten parametr obsługuje wartości HTTP, HTTPS, FTP i FILE.
Ten parametr jest wymagany. Identyfikator URI nazwy parametru jest opcjonalny.
Właściwości parametru
| Typ: | Uri |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 0 |
| Obowiązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-UseBasicParsing
Wskazuje, że polecenie cmdlet używa obiektu odpowiedzi dla zawartości HTML bez analizowania modelu obiektów dokumentów (DOM). Ten parametr jest wymagany, gdy program Internet Explorer nie jest zainstalowany na komputerach, na przykład w instalacji Server Core systemu operacyjnego Windows Server.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-UseDefaultCredentials
Wskazuje, że polecenie cmdlet używa poświadczeń bieżącego użytkownika do wysłania żądania sieciowego.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-UserAgent
Określa ciąg agenta użytkownika dla żądania internetowego. Domyślny agent użytkownika jest podobny do Mozilla/5.0 (Windows NT; Windows NT 6.1; en-US) WindowsPowerShell/3.0 z niewielkimi odmianami dla każdego systemu operacyjnego i platformy.
Aby przetestować witrynę internetową przy użyciu standardowego ciągu agenta użytkownika używanego przez większość przeglądarek internetowych, użyj właściwości klasy PSUserAgent, takich jak Chrome, Firefox, InternetExplorer, Opera i Safari. Na przykład następujące polecenie używa ciągu agenta użytkownika dla programu Internet Explorer: Invoke-WebRequest -Uri https://website.com/ -UserAgent ([Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer)
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-WebSession
Określa sesję żądania internetowego. Wprowadź nazwę zmiennej, w tym znak dolara ($).
Aby zastąpić wartość w sesji żądania internetowego, użyj parametru cmdlet, takiego jak UserAgent lub Credential. Wartości parametrów mają pierwszeństwo przed wartościami w sesji żądania internetowego.
W przeciwieństwie do sesji zdalnej sesja żądania sieci Web nie jest trwałym połączeniem. Jest to obiekt, który zawiera informacje o połączeniu i żądaniu, w tym pliki cookie, poświadczenia, maksymalną wartość przekierowania i parametry agenta użytkownika. Możesz używać tego do udostępniania stanu i danych między żądaniami HTTP.
Aby utworzyć sesję żądania internetowego, wprowadź nazwę zmiennej bez znaku dolara jako wartość parametru SessionVariable w poleceniu Invoke-WebRequest.
Invoke-WebRequest tworzy sesję i zapisuje ją w zmiennej. W kolejnych poleceniach użyj zmiennej jako wartości parametru WebSession.
Nie można użyć parametrów SessionVariable i WebSession w tym samym poleceniu.
Właściwości parametru
| Typ: | WebRequestSession |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
Object
Możesz przekazać treść żądania internetowego do tego polecenia cmdlet.
Dane wyjściowe
HtmlWebResponseObject
To polecenie cmdlet zwraca obiekt odpowiedzi reprezentujący wynik żądania internetowego.
Uwagi
Program Windows PowerShell zawiera następujące aliasy dla Invoke-WebRequest:
iwrcurlwget