Invoke-WebRequest
Ruft Inhalte von einer Webseite im Internet ab.
Syntax
Default (Standard)
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>]
Beschreibung
Das Invoke-WebRequest Cmdlet sendet HTTP-, HTTPS-, FTP- und FILE-Anforderungen an eine Webseite oder einen Webdienst. Das Cmdlet analysiert die Antwort und gibt Auflistungen von Formularen, Links, Bildern und anderen wichtigen HTML-Elementen zurück.
Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.
Warnung
Analysiert standardmäßig Invoke-WebRequest den Inhalt der Webseite. Skriptcode auf der Webseite kann ausgeführt werden, wenn die Seite analysiert wird. Verwenden Sie die -UseBasicParsing Option, um skriptcodeausführung zu vermeiden.
Dieser Befehl kann mit den iwrAliasen , curloder wget den Aliasen ausgeführt werden.
Beispiele
Beispiel 1: Senden einer Webanforderung
In diesem Beispiel wird das Cmdlet Invoke-WebRequest verwendet, um eine Webanforderung an die Bing.com Website zu senden.
$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
Die zurückgegebenen Invoke-WebRequest Daten werden in der $Response Variablen gespeichert. Die InputFields-Eigenschaft der Antwort enthält die Formularfelder.
Where-Object wird verwendet, um die Formularfelder nach den Formularfeldern zu filtern, bei denen die Name Eigenschaft wie "* Value" ist. Die gefilterten Ergebnisse werden an Select-Object weitergeleitet, um die Eigenschaften Name und Value auszuwählen.
Beispiel 2: Verwenden eines zustandsbehafteten Webdiensts
In diesem Beispiel wird gezeigt, wie Sie das Invoke-WebRequest Cmdlet mit einem zustandsbehafteten Webdienst wie Facebook verwenden.
$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
Der erste Befehl verwendet das Invoke-WebRequest Cmdlet, um eine Anmeldeanforderung zu senden. Der Befehl gibt einen Wert von "FB" für den Wert des SessionVariable-Parameters an und speichert das Ergebnis in der $R Variablen. Wenn der Befehl abgeschlossen ist, enthält die $R Variable ein HtmlWebResponseObject , und die $FB Variable enthält ein WebRequestSession -Objekt.
Nachdem sich das Invoke-WebRequest Cmdlet bei Facebook angemeldet hat, gibt die StatusDescription-Eigenschaft des Webantwortobjekts in der $R Variablen an, dass der Benutzer erfolgreich angemeldet ist.
Beispiel 3: Abrufen von Links von einer Webseite
Dieser Befehl ruft die Links auf einer Webseite ab.
(Invoke-WebRequest -Uri "https://devblogs.microsoft.com/powershell/").Links.Href
Das Invoke-WebRequest Cmdlet ruft den Inhalt der Webseite ab. Anschließend wird die Links-Eigenschaft des zurückgegebenen HtmlWebResponseObject verwendet, um die Href-Eigenschaft der einzelnen Verknüpfungen anzuzeigen.
Beispiel 4: Erfassen von nicht erfolgreichen Nachrichten von Invoke-WebRequest
Wenn Invoke-WebRequest auf eine nicht erfolgreiche HTTP-Nachricht (404, 500 usw.) stoßen, gibt sie keine Ausgabe zurück und löst einen Beendigungsfehler aus. Zum Abfangen des Fehlers und Anzeigen des StatusCode- können Sie die Ausführung in einen try/catch-Block einschließen.
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
Der Beendigungsfehler wird vom catch-Block abgefangen, der die StatusCode- aus dem Exception-Objekt abruft.
Beispiel 5: Gleichzeitiges Herunterladen mehrerer Dateien
Das Cmdlet Invoke-WebRequest kann jeweils nur eine Datei herunterladen. Im folgenden Beispiel werden Start-ThreadJob verwendet, um mehrere Threadaufträge zum gleichzeitigen Herunterladen mehrerer Dateien zu erstellen.
$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
}
Hinweis
Um das Start-ThreadJob Cmdlet zu verwenden, müssen Sie das ThreadJob-Modul aus dem PowerShell-Katalog installieren.
Parameter
-Body
Gibt den Inhalt der Anforderung an. Der Textkörper ist der Inhalt der Anforderung, die den Kopfzeilen folgt.
Sie können auch einen Body-Wert an Invoke-WebRequest weiterleiten.
Der parameter Body kann verwendet werden, um eine Liste der Abfrageparameter anzugeben oder den Inhalt der Antwort anzugeben.
Wenn die Eingabe eine GET-Anforderung ist und der Textkörper ein IDictionary (in der Regel eine Hashtabelle) ist, wird der Textkörper als Abfrageparameter dem URI hinzugefügt. Bei anderen Anforderungstypen (z. B. POST) wird der Textkörper als Wert des Anforderungstexts im Standardformat name=value festgelegt.
Wenn der Textkörper ein Formular ist oder die Ausgabe eines Invoke-WebRequest Aufrufs ist, legt PowerShell den Anforderungsinhalt auf die Formularfelder fest.
Beispiel:
$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
- oder -
Invoke-RestMethod https://website.com/service.aspx -Body $r.Forms[0]
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Certificate
Gibt das Clientzertifikat an, das für eine sichere Webanforderung verwendet wird. Geben Sie eine Variable ein, die ein Zertifikat enthält oder einen Befehl bzw. Ausdruck zum Abrufen des Zertifikats.
Um ein Zertifikat zu finden, verwenden Sie Get-PfxCertificate oder verwenden Sie das cmdlet Get-ChildItem im Zertifikatlaufwerk (Cert:). Wenn das Zertifikat ungültig ist oder nicht über ausreichende Autorität verfügt, schlägt der Befehl fehl.
Parametereigenschaften
| Typ: | X509Certificate |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-CertificateThumbprint
Gibt das zertifikat für den digitalen öffentlichen Schlüssel (X509) eines Benutzerkontos an, das über die Berechtigung zum Senden der Anforderung verfügt. Geben Sie den Zertifikatfingerabdruck des Zertifikats ein.
Zertifikate werden in der zertifikatbasierten Clientauthentifizierung verwendet. Zertifikate können nur lokalen Benutzerkonten zugeordnet werden, nicht Domänenkonten.
Um den Zertifikatfingerabdruck anzuzeigen, verwenden Sie den Befehl Get-Item oder Get-ChildItem, um das Zertifikat in Cert:\CurrentUser\Myzu finden.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ContentType
Gibt den Inhaltstyp der Webanforderung an.
Wenn der Wert für ContentType- das Codierungsformat (wie charset) enthält, verwendet das Cmdlet dieses Format, um den Textkörper der Webanforderung zu codieren. Wenn der ContentType- kein Codierungsformat angibt, wird stattdessen das Standardcodierungsformat verwendet. Ein Beispiel für ein ContentType - mit einem Codierungsformat ist text/plain; charset=iso-8859-5, das das lateinische/kyrillische Alphabet angibt.
Wenn Sie den Parameter weglassen, kann der Inhaltstyp je nach der verwendeten HTTP-Methode unterschiedlich sein:
- Bei einer POST-Methode ist der Inhaltstyp
application/x-www-form-urlencoded - Bei einer PUT-Methode ist der Inhaltstyp
application/json - Bei anderen Methoden wird der Inhaltstyp in der Anforderung nicht angegeben.
Wenn Sie den Parameter InFile verwenden, um eine Datei hochzuladen, sollten Sie den Inhaltstyp festlegen.
Normalerweise sollte der Typ application/octet-streamwerden. Sie müssen den Inhaltstyp jedoch basierend auf den Anforderungen des Endpunkts festlegen.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Senden der Anforderung verfügt. Die Standardeinstellung ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01, oder geben Sie ein PSCredential-Objekt ein, das vom cmdlet Get-Credential generiert wird.
Anmeldeinformationen werden in einem PSCredential-Objekt gespeichert, und das Kennwort wird als SecureString-gespeichert.
Hinweis
Weitere Informationen zu SecureString Datenschutz finden Sie unter Wie sicher ist SecureString?.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-DisableKeepAlive
Gibt an, dass das Cmdlet den wert KeepAlive im HTTP-Header auf Falsefestlegt. Standardmäßig ist KeepAlive-True. KeepAlive stellt eine dauerhafte Verbindung mit dem Server her, um nachfolgende Anfragen zu erleichtern.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Headers
Gibt die Kopfzeilen der Webanforderung an. Geben Sie eine Hashtabelle oder ein Wörterbuch ein.
Verwenden Sie zum Festlegen von UserAgent-Headern den Parameter "UserAgent ". Sie können diesen Parameter nicht verwenden, um UserAgent- oder Cookie-Header anzugeben.
Parametereigenschaften
| Typ: | IDictionary |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-InFile
Ruft den Inhalt des Webanforderungstexts aus einer Datei ab. Geben Sie einen Pfad und Dateinamen ein. Wenn Sie den Pfad weglassen, ist die Standardeinstellung der aktuelle Speicherort.
Sie müssen auch den Inhaltstyp der Anforderung festlegen. Um beispielsweise eine Datei hochzuladen, sollten Sie den Inhaltstyp festlegen. Normalerweise sollte der Typ application/octet-streamwerden. Sie müssen den Inhaltstyp jedoch basierend auf den Anforderungen des Endpunkts festlegen.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-MaximumRedirection
Gibt an, wie oft PowerShell eine Verbindung zu einem alternativen URI (Uniform Resource Identifier) umleitet, bevor die Verbindung fehlschlägt. Der Standardwert ist 5. Ein Wert von 0 (Null) verhindert die gesamte Umleitung.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Method
Gibt die Methode an, die für die Webanforderung verwendet wird. Die zulässigen Werte für diesen Parameter sind:
DefaultDeleteGetHeadMergeOptionsPatchPostPutTrace
Parametereigenschaften
| Typ: | WebRequestMethod |
| Standardwert: | None |
| Zulässige Werte: | Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-OutFile
Gibt die Ausgabedatei an, für die dieses Cmdlet den Antworttext speichert. Geben Sie einen Pfad und Dateinamen ein. Wenn Sie den Pfad weglassen, ist die Standardeinstellung der aktuelle Speicherort.
Standardmäßig gibt Invoke-WebRequest die Ergebnisse an die Pipeline zurück. Verwenden Sie den PassThru-Parameter , um die Ergebnisse an eine Datei und an die Pipeline zu senden.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-PassThru
Gibt an, dass das Cmdlet die Ergebnisse zusätzlich zum Schreiben in eine Datei zurückgibt. Dieser Parameter ist nur gültig, wenn der parameter OutFile auch im Befehl verwendet wird.
Hinweis
Wenn Sie den PassThru Parameter verwenden, wird die Ausgabe in die Pipeline geschrieben, die Datei ist jedoch leer. Weitere Informationen finden Sie unter PowerShell-Problem Nr. 15409.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Proxy
Gibt einen Proxyserver für die Anforderung an, anstatt eine direkte Verbindung mit der Internetressource herzustellen. Geben Sie den URI eines Netzwerkproxyservers ein.
Parametereigenschaften
| Typ: | Uri |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ProxyCredential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Verwenden des durch den Parameter Proxy angegebenen Proxyservers verfügt. Die Standardeinstellung ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01, oder geben Sie ein PSCredential--Objekt ein, z. B. einen, der vom Cmdlet Get-Credential generiert wird.
Dieser Parameter ist nur gültig, wenn der parameter Proxy auch im Befehl verwendet wird. Sie können die Parameter ProxyCredential und ProxyUseDefaultCredentials nicht im selben Befehl verwenden.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ProxyUseDefaultCredentials
Gibt an, dass das Cmdlet die Anmeldeinformationen des aktuellen Benutzers verwendet, um auf den Proxyserver zuzugreifen, der vom parameter Proxy angegeben wird.
Dieser Parameter ist nur gültig, wenn der parameter Proxy auch im Befehl verwendet wird. Sie können die Parameter ProxyCredential und ProxyUseDefaultCredentials nicht im selben Befehl verwenden.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-SessionVariable
Gibt eine Variable an, für die dieses Cmdlet eine Webanforderungssitzung erstellt und im Wert speichert.
Geben Sie einen Variablennamen ohne das Dollarzeichen ($) ein.
Wenn Sie eine Sitzungsvariable angeben, erstellt Invoke-WebRequest ein Webanforderungssitzungsobjekt und weist sie einer Variablen mit dem angegebenen Namen in Ihrer PowerShell-Sitzung zu. Sie können die Variable in Ihrer Sitzung verwenden, sobald der Befehl abgeschlossen ist.
Im Gegensatz zu einer Remotesitzung ist die Webanforderungssitzung keine dauerhafte Verbindung. Es handelt sich um ein Objekt, das Informationen über die Verbindung und die Anforderung enthält, einschließlich Cookies, Anmeldeinformationen, maximaler Umleitungswert und der Benutzer-Agent-Zeichenfolge. Sie können es verwenden, um Status und Daten zwischen Webanforderungen auszutauschen.
Um die Webanforderungssitzung in nachfolgenden Webanforderungen zu verwenden, geben Sie die Sitzungsvariable im Wert des WebSession--Parameters an. PowerShell verwendet die Daten im Webanforderungssitzungsobjekt beim Herstellen der neuen Verbindung. Um einen Wert in der Webanforderungssitzung außer Kraft zu setzen, verwenden Sie einen Cmdlet-Parameter, z. B. UserAgent- oder anmeldeinformationen. Parameterwerte haben Vorrang vor Werten in der Webanforderungssitzung.
Sie können die parameter SessionVariable und WebSession- nicht im selben Befehl verwenden.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | SV |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-TimeoutSec
Gibt an, wie lange die Anforderung ausstehen kann, bevor es zu einer Zeitüberschreitung kommt. Bitte geben Sie einen Wert in Sekunden ein. Der Standardwert 0 gibt ein unbestimmtes Timeout an.
Eine DNS-Abfrage (Domain Name System) kann bis zu 15 Sekunden dauern, bis ein Timeout zurückgegeben oder beendet wird. Wenn Ihre Anforderung einen Hostnamen enthält, der eine Auflösung erfordert, und Sie TimeoutSec auf einen Wert größer als Null festlegen, aber weniger als 15 Sekunden, kann es 15 Sekunden oder mehr dauern, bis eine WebException ausgelöst wird, und Die Anforderung timeoutout.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-TransferEncoding
Gibt einen Wert für den Transfer-Encoding-Header der HTTP-Antwort an. Die zulässigen Werte für diesen Parameter sind:
ChunkedCompressDeflateGZipIdentity
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Zulässige Werte: | chunked, compress, deflate, gzip, identity |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Uri
Gibt den URI (Uniform Resource Identifier) der Internetressource an, an die die Webanforderung gesendet wird. Geben Sie einen URI ein. Dieser Parameter unterstützt HTTP-, HTTPS-, FTP- und FILE-Werte.
Dieser Parameter ist erforderlich. Der Parametername URI- ist optional.
Parametereigenschaften
| Typ: | Uri |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-UseBasicParsing
Gibt an, dass das Cmdlet das Antwortobjekt für HTML-Inhalte ohne DOM-Analyse (Document Object Model) verwendet. Dieser Parameter ist erforderlich, wenn Internet Explorer nicht auf den Computern installiert ist, wie z. B. im Falle einer Server Core-Installation eines Windows Server-Betriebssystems.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-UseDefaultCredentials
Gibt an, dass das Cmdlet die Anmeldeinformationen des aktuellen Benutzers verwendet, um die Webanforderung zu senden.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-UserAgent
Gibt eine Benutzer-Agent-Zeichenfolge für die Webanforderung an. Der Standardbenutzer-Agent ähnelt Mozilla/5.0 (Windows NT; Windows NT 6.1; en-US) WindowsPowerShell/3.0 mit geringfügigen Variationen für jedes Betriebssystem und jede Plattform.
Um eine Website mit der standardmäßigen Benutzer-Agent-Zeichenfolge zu testen, die von den meisten Internetbrowsern verwendet wird, verwenden Sie die Eigenschaften der PSUserAgent Klasse, z. B. Chrome, Firefox, InternetExplorer, Opera und Safari. Der folgende Befehl verwendet beispielsweise die Benutzer-Agent-Zeichenfolge für Internet Explorer: Invoke-WebRequest -Uri https://website.com/ -UserAgent ([Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer)
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-WebSession
Gibt eine Webanfragesitzung an. Geben Sie den Variablennamen ein, einschließlich des Dollarzeichens ($).
Um einen Wert in der Webanforderungssitzung außer Kraft zu setzen, verwenden Sie einen Cmdlet-Parameter, z. B. UserAgent- oder anmeldeinformationen. Parameterwerte haben Vorrang vor Werten in der Webanforderungssitzung.
Im Gegensatz zu einer Remotesitzung besteht bei der Webanforderungssitzung keine persistente Verbindung. Es handelt sich um ein Objekt, das Informationen über die Verbindung und die Anforderung enthält, einschließlich Cookies, Anmeldeinformationen, dem Maximalwert für Umleitungen und der Zeichenfolge des Benutzer-Agents. Sie können es verwenden, um Status und Daten zwischen Webanforderungen auszutauschen.
Um eine Webanforderungssitzung zu erstellen, geben Sie einen Variablennamen ohne Dollarzeichen in den Wert des SessionVariable Parameter eines Invoke-WebRequest Befehls ein.
Invoke-WebRequest erstellt die Sitzung und speichert sie in der Variablen. Verwenden Sie in nachfolgenden Befehlen die Variable als Wert des WebSession--Parameters.
Sie können die parameter SessionVariable und WebSession- nicht im selben Befehl verwenden.
Parametereigenschaften
| Typ: | WebRequestSession |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
Object
Sie können den Textkörper einer Webanforderung an dieses Cmdlet weiterleiten.
Ausgaben
HtmlWebResponseObject
Dieses Cmdlet gibt das Antwortobjekt zurück, das das Ergebnis der Webanforderung darstellt.
Hinweise
Windows PowerShell enthält die folgenden Aliase für Invoke-WebRequest:
iwrcurlwget