Megosztás a következőn keresztül:


Invoke-WebRequest

Lekéri a tartalmat egy internetes weblapról.

Syntax

StandardMethod (Alapértelmezett)

Invoke-WebRequest
    [-Uri] <Uri>
    [-UseBasicParsing]
    [-HttpVersion <Version>]
    [-WebSession <WebRequestSession>]
    [-SessionVariable <String>]
    [-AllowUnencryptedAuthentication]
    [-Authentication <WebAuthenticationType>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-CertificateThumbprint <String>]
    [-Certificate <X509Certificate>]
    [-SkipCertificateCheck]
    [-SslProtocol <WebSslProtocol>]
    [-Token <SecureString>]
    [-UserAgent <String>]
    [-DisableKeepAlive]
    [-ConnectionTimeoutSeconds <Int32>]
    [-OperationTimeoutSeconds <Int32>]
    [-Headers <IDictionary>]
    [-SkipHeaderValidation]
    [-AllowInsecureRedirect]
    [-MaximumRedirection <Int32>]
    [-MaximumRetryCount <Int32>]
    [-PreserveAuthorizationOnRedirect]
    [-RetryIntervalSec <Int32>]
    [-Method <WebRequestMethod>]
    [-PreserveHttpMethodOnRedirect]
    [-UnixSocket <UnixDomainSocketEndPoint>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-ProxyUseDefaultCredentials]
    [-Body <Object>]
    [-Form <IDictionary>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [-Resume]
    [-SkipHttpErrorCheck]
    [<CommonParameters>]

StandardMethodNoProxy

Invoke-WebRequest
    [-Uri] <Uri>
    [-UseBasicParsing]
    [-HttpVersion <Version>]
    [-WebSession <WebRequestSession>]
    [-SessionVariable <String>]
    [-AllowUnencryptedAuthentication]
    [-Authentication <WebAuthenticationType>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-CertificateThumbprint <String>]
    [-Certificate <X509Certificate>]
    [-SkipCertificateCheck]
    [-SslProtocol <WebSslProtocol>]
    [-Token <SecureString>]
    [-UserAgent <String>]
    [-DisableKeepAlive]
    [-ConnectionTimeoutSeconds <Int32>]
    [-OperationTimeoutSeconds <Int32>]
    [-Headers <IDictionary>]
    [-SkipHeaderValidation]
    [-AllowInsecureRedirect]
    [-MaximumRedirection <Int32>]
    [-MaximumRetryCount <Int32>]
    [-PreserveAuthorizationOnRedirect]
    [-RetryIntervalSec <Int32>]
    [-Method <WebRequestMethod>]
    [-PreserveHttpMethodOnRedirect]
    [-UnixSocket <UnixDomainSocketEndPoint>]
    [-NoProxy]
    [-Body <Object>]
    [-Form <IDictionary>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [-Resume]
    [-SkipHttpErrorCheck]
    [<CommonParameters>]

CustomMethod

Invoke-WebRequest
    [-Uri] <Uri>
    -CustomMethod <String>
    [-UseBasicParsing]
    [-HttpVersion <Version>]
    [-WebSession <WebRequestSession>]
    [-SessionVariable <String>]
    [-AllowUnencryptedAuthentication]
    [-Authentication <WebAuthenticationType>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-CertificateThumbprint <String>]
    [-Certificate <X509Certificate>]
    [-SkipCertificateCheck]
    [-SslProtocol <WebSslProtocol>]
    [-Token <SecureString>]
    [-UserAgent <String>]
    [-DisableKeepAlive]
    [-ConnectionTimeoutSeconds <Int32>]
    [-OperationTimeoutSeconds <Int32>]
    [-Headers <IDictionary>]
    [-SkipHeaderValidation]
    [-AllowInsecureRedirect]
    [-MaximumRedirection <Int32>]
    [-MaximumRetryCount <Int32>]
    [-PreserveAuthorizationOnRedirect]
    [-RetryIntervalSec <Int32>]
    [-PreserveHttpMethodOnRedirect]
    [-UnixSocket <UnixDomainSocketEndPoint>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-ProxyUseDefaultCredentials]
    [-Body <Object>]
    [-Form <IDictionary>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [-Resume]
    [-SkipHttpErrorCheck]
    [<CommonParameters>]

CustomMethodNoProxy

Invoke-WebRequest
    [-Uri] <Uri>
    -CustomMethod <String>
    [-UseBasicParsing]
    [-HttpVersion <Version>]
    [-WebSession <WebRequestSession>]
    [-SessionVariable <String>]
    [-AllowUnencryptedAuthentication]
    [-Authentication <WebAuthenticationType>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-CertificateThumbprint <String>]
    [-Certificate <X509Certificate>]
    [-SkipCertificateCheck]
    [-SslProtocol <WebSslProtocol>]
    [-Token <SecureString>]
    [-UserAgent <String>]
    [-DisableKeepAlive]
    [-ConnectionTimeoutSeconds <Int32>]
    [-OperationTimeoutSeconds <Int32>]
    [-Headers <IDictionary>]
    [-SkipHeaderValidation]
    [-AllowInsecureRedirect]
    [-MaximumRedirection <Int32>]
    [-MaximumRetryCount <Int32>]
    [-PreserveAuthorizationOnRedirect]
    [-RetryIntervalSec <Int32>]
    [-PreserveHttpMethodOnRedirect]
    [-UnixSocket <UnixDomainSocketEndPoint>]
    [-NoProxy]
    [-Body <Object>]
    [-Form <IDictionary>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [-Resume]
    [-SkipHttpErrorCheck]
    [<CommonParameters>]

Description

A Invoke-WebRequest parancsmag HTTP- és HTTPS-kéréseket küld egy weblapnak vagy webszolgáltatásnak. Elemzi a választ, és hivatkozásokat, képeket és más jelentős HTML-elemek gyűjteményeit adja vissza.

Ezt a parancsmagot a PowerShell 3.0-ban vezettük be.

A PowerShell 7.0-tól kezdve Invoke-WebRequest támogatja a környezeti változók által meghatározott proxykonfigurációt. Lásd a cikk Jegyzetek szakaszát.

Fontos

A cikkben szereplő példák a tartományban lévő contoso.com gazdagépekre hivatkoznak. Ez egy fiktív tartomány, amelyet például a Microsoft használ. A példák a parancsmagok használatának bemutatására szolgálnak. Mivel azonban a contoso.com webhelyek nem léteznek, a példák nem működnek. A példákat a környezet gazdagépeihez igazíthatja.

A PowerShell 7.4-től kezdődően a kérések karakterkódolása az ASCII helyett az UTF-8 lesz. Ha más kódolásra van szüksége, be kell állítania a charset attribútumot a Content-Type fejlécben.

Példák

1. példa: Webes kérés küldése

Ez a példa a Invoke-WebRequest parancsmaggal küld webkérelmet a Bing.com webhelyre.

$Response = Invoke-WebRequest -Uri https://www.bing.com/search?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

Az első parancs kiadja a kérést, és menti a választ a $Response változóba.

A második parancs lekéri azokat az InputField-mezőket , ahol a Name tulajdonság hasonló "* Value". A szűrt eredmények a név- és Select-Object kiválasztásához vannak beállítva.

2. példa: Állapotalapú webszolgáltatás használata

Ez a példa bemutatja, hogyan használható a Invoke-WebRequest parancsmag állapotalapú webszolgáltatással.

$LoginParameters = @{
    Uri             = 'https://www.contoso.com/login/'
    SessionVariable = 'Session'
    Method          = 'POST'
    Body            = @{
        User     = 'jdoe'
        Password = 'P@S$w0rd!'
    }
}
$LoginResponse = Invoke-WebRequest @LoginParameters
$ProfileResponse = Invoke-WebRequest 'https://www.contoso.com/profile/' -WebSession $Session

Az első hívás, amely Invoke-WebRequest bejelentkezési kérést küld. A parancs a SessionVariable paraméter értékének Sessionértékét adja meg. A parancs befejeződésekor a változó egy BasicHtmlWebResponseObject$LoginResponse Ez naplózza a felhasználót a webhelyre.

A második hívás beolvassa Invoke-WebRequest a felhasználó profilját, amelyhez a felhasználónak be kell jelentkeznie a webhelyre. A változóban $Session tárolt munkamenet-adatok munkamenet-cookie-kat biztosítanak a bejelentkezés során létrehozott webhelynek.

3. példa: Hivatkozások lekérése weblapról

Ez a példa egy weblap hivatkozásait kapja meg. A parancsmaggal Invoke-WebRequest lekérheti a weblap tartalmát. Ezután a és az egyes hivatkozások Href tulajdonságát használja.

(Invoke-WebRequest -Uri "https://aka.ms/pscore6-docs").Links.Href

4. példa: Választartalom írása fájlba a kért lapon definiált kódolással

Ez a példa a Invoke-WebRequest parancsmaggal kéri le egy PowerShell-dokumentációs lap weblapjának tartalmát.

$Response = Invoke-WebRequest -Uri "https://aka.ms/pscore6-docs"
$Stream = [System.IO.StreamWriter]::new('.\docspage.html', $false, $Response.Encoding)
try {
    $Stream.Write($Response.Content)
} finally {
    $Stream.Dispose()
}

Az első parancs lekéri a lapot, és menti a válaszobjektumot a $Response változóba.

A második parancs létrehoz egy StreamWriter-et a választartalom fájlba írásához. A válaszobjektum Kódolás tulajdonsága a fájl kódolásának beállítására szolgál.

Az utolsó néhány parancs írja a Content tulajdonságot a fájlba, majd eltávolítja a StreamWritert.

Vegye figyelembe, hogy a Kódolás tulajdonság null értékű, ha a webes kérelem nem ad vissza szöveges tartalmat.

5. példa: Többrészes/űrlap-adatfájl elküldése

Ez a példa a Invoke-WebRequest parancsmagot használja egy fájl beküldéseként való feltöltésére multipart/form-data . A fájl a következő űrlapmezőként C:\document.txt lesz elküldve: documentContent-Type .text/plain

$FilePath = 'C:\document.txt'
$FieldName = 'document'
$ContentType = 'text/plain'

$FileStream = [System.IO.FileStream]::new($filePath, [System.IO.FileMode]::Open)
$FileHeader = [System.Net.Http.Headers.ContentDispositionHeaderValue]::new('form-data')
$FileHeader.Name = $FieldName
$FileHeader.FileName = Split-Path -Leaf $FilePath
$FileContent = [System.Net.Http.StreamContent]::new($FileStream)
$FileContent.Headers.ContentDisposition = $FileHeader
$FileContent.Headers.ContentType = [System.Net.Http.Headers.MediaTypeHeaderValue]::Parse($ContentType)

$MultipartContent = [System.Net.Http.MultipartFormDataContent]::new()
$MultipartContent.Add($FileContent)

$Response = Invoke-WebRequest -Body $MultipartContent -Method 'POST' -Uri 'https://api.contoso.com/upload'

6. példa: Egyszerűsített többrészes/űrlap-adatküldés

Egyes API-k fájlok és vegyes tartalmak feltöltéséhez multipart/form-data beküldéseket igényelnek. Ez a példa egy felhasználói profil frissítését mutatja be.

$Uri = 'https://api.contoso.com/v2/profile'
$Form = @{
    firstName  = 'John'
    lastName   = 'Doe'
    email      = 'john.doe@contoso.com'
    avatar     = Get-Item -Path 'C:\Pictures\jdoe.png'
    birthday   = '1980-10-15'
    hobbies    = 'Hiking','Fishing','Jogging'
}
$Result = Invoke-WebRequest -Uri $Uri -Method Post -Form $Form

A profilűrlaphoz a következő mezők szükségesek: firstName, lastName, email, avatar, birthdayés hobbies. Az API arra számít, hogy a felhasználói profil képe megjelenik a avatar mezőben. Az API több hobbies bejegyzést is elfogad, amelyet ugyanabban az űrlapon kell elküldeni.

A $Form szótár létrehozásakor a kulcsneveket űrlapmezők neveiként használják. Alapértelmezés szerint a HashTable értékei sztringekké alakulnak. Ha system.IO.FileInfo érték van jelen, a fájl tartalma el lesz küldve. Ha egy gyűjtemény, például tömbök vagy listák találhatók, az űrlapmező többször is elküldve lesz.

A kulcs használatával Get-Itemavatar az FileInfo objektum értékként van beállítva. Az eredmény az, hogy a rendszer a jdoe.png képadatait küldi el.

Ha egy listát ad meg a hobbies kulcsnak, a hobbies mező minden egyes listaelemnél egyszer szerepel a beküldésekben.

7. példa: Az Invoke-WebRequest nem sikeres üzenetei

Ha Invoke-WebRequest nem sikeres HTTP-üzenettel (404, 500 stb.) találkozik, akkor nem ad vissza kimenetet, és leállási hibát jelez. A hiba elhárításához és a StatusCode megtekintéséhez a végrehajtást egy try/catch blokkba zárhatja.

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

A megszüntetési hibát a catch blokk észleli, amely lekéri a StatusCode-ot a Kivétel objektumból.

8. példa: Egyszerre több fájl letöltése

A Invoke-WebRequest parancsmag egyszerre csak egy fájlt tud letölteni. Az alábbi példa több szálfeladat létrehozását használja Start-ThreadJob több fájl egyidejű letöltéséhez.

$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
}

9. példa: Az élőfej ellenőrzése kihagyása

Alapértelmezés szerint a Invoke-WebRequest parancsmag ellenőrzi a szabvány által definiált értékformátummal rendelkező jól ismert fejlécek értékeit. Az alábbi példa bemutatja, hogy ez az ellenőrzés hogyan okozhat hibát, és hogyan használhatja a SkipHeaderValidation paramétert az érvénytelenül formázott értékeket toleráló végpontok értékeinek ellenőrzésének elkerülése érdekében.

$Uri = 'https://httpbin.org/headers'
$InvalidHeaders = @{
    'If-Match' = '12345'
}

Invoke-WebRequest -Uri $Uri -Headers $InvalidHeaders

Invoke-WebRequest -Uri $Uri -Headers $InvalidHeaders -SkipHeaderValidation
Invoke-WebRequest: The format of value '12345' is invalid.

StatusCode        : 200
StatusDescription : OK
Content           : {
                      "headers": {
                        "Host": "httpbin.org",
                        "If-Match": "12345",
                        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.19044; en-US) PowerShell/7.2.5",
                        "X-Amzn-Trace-Id": �
RawContent        : HTTP/1.1 200 OK
                    Date: Mon, 08 Aug 2022 16:24:24 GMT
                    Connection: keep-alive
                    Server: gunicorn/19.9.0
                    Access-Control-Allow-Origin: *
                    Access-Control-Allow-Credentials: true
                    Content-Type: application�
Headers           : {[Date, System.String[]], [Connection, System.String[]], [Server, System.String[]], [Access-Control-Allow-Origin, System.String[]]�}
Images            : {}
InputFields       : {}
Links             : {}
RawContentLength  : 249
RelationLink      : {}

httpbin.org egy szolgáltatás, amely információkat ad vissza a webes kérelmekről és a hibaelhárításra adott válaszokról. A $Uri változó a szolgáltatás /headers végponthoz van rendelve, amely egy kérés fejléceit adja vissza a válasz tartalmaként.

A If-Match kérelemfejléc RFC-7232 3.1 szakaszában van definiálva, és a fejléc értékét a környező idézőjelekkel kell definiálni. A $InvalidHeaders változó olyan kivonattáblát kap, amelyben a If-Match értéke érvénytelen, mert 12345 ként van definiálva "12345"helyett.

Az érvénytelen fejlécekkel rendelkező Invoke-WebRequest hívása hibaüzenetet ad vissza, amely szerint a formázott érték érvénytelen. A rendszer nem küldi el a kérelmet a végpontnak.

A Invoke-WebRequest hívása a SkipHeaderValidation paraméterrel figyelmen kívül hagyja az érvényesítési hibát, és elküldi a kérést a végponthoz. Mivel a végpont tolerálja a nem megfelelő fejlécértékeket, a parancsmag hiba nélkül adja vissza a válaszobjektumot.

10. példa: Kérés küldése HTTP 2.0 használatával

Ez a példa a HTTP 2.0 protokoll használatával lekéri egy weblap hivatkozásait. A parancsmaggal Invoke-WebRequest lekérheti a weblap tartalmát. Ezután a és az egyes hivatkozások Href tulajdonságát használja.

(Invoke-WebRequest -Uri 'https://aka.ms/pscore6-docs' -HttpVersion 2.0).Links.Href

11. példa: Kérés küldése Unix szoftvercsatornás alkalmazásnak

Egyes alkalmazások, például a Docker, egy Unix-szoftvercsatornát tesznek elérhetővé a kommunikációhoz. Ez a példa a Docker API használatával lekérdezi a Docker-rendszerképek listáját. A parancsmag a Unix-szoftvercsatornával csatlakozik a Docker-démonhoz.

Invoke-WebRequest -Uri "http://localhost/v1.40/images/json/" -UnixSocket "/var/run/docker.sock"

Paraméterek

-AllowInsecureRedirect

Engedélyezi a HTTPS-ről a HTTP-be való átirányítást. Alapértelmezés szerint a HTTPS-ről HTTP-ra átirányított kérések hibát eredményeznek, és a kérés megszakad, hogy a rendszer megakadályozza a nem titkosított kapcsolatokon keresztüli, egyszerű szöveges kommunikációt. Ha saját kockázatára szeretné felülbírálni ezt a viselkedést, használja az AllowInsecureRedirect paramétert.

Ez a paraméter a PowerShell 7.4-ben lett hozzáadva.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-AllowUnencryptedAuthentication

Lehetővé teszi a hitelesítő adatok és titkos kódok titkosítás nélküli kapcsolatokon keresztüli küldését. Alapértelmezés szerint olyan URI-val adja meg a hitelesítő adatokat vagy bármely hitelesítési beállítást Ha saját kockázatára szeretné felülbírálni ezt a viselkedést, adja meg az AllowUnencryptedAuthentication paramétert.

Figyelmeztetés

A paraméter használata nem biztonságos, és nem ajánlott. Csak az örökölt rendszerekkel való kompatibilitás érdekében érhető el, amelyek nem tudnak titkosított kapcsolatokat biztosítani. Saját felelősségre használható.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Authentication

Megadja a kérelemhez használandó explicit hitelesítési típust. Az alapértelmezett érték Nincs. A Hitelesítési paraméter nem használható a UseDefaultCredentials paraméterrel.

Elérhető hitelesítési beállítások:

  • None: Ez az alapértelmezett beállítás, ha nincs megadva hitelesítési. A rendszer nem használ explicit hitelesítést.
  • Basic: Szükséges a(z) hitelesítő. A hitelesítő adatokat a rendszer RFC 7617 Egyszerű hitelesítés Authorization: Basic fejlécként küldi base64(user:password)el a következő formátumban: .
  • Bearer: A Token paramétert igényli. Egy RFC 6750-Authorization: Bearer fejlécet küld a megadott jogkivonattal.
  • OAuth: A Token paramétert igényli. Egy RFC 6750-Authorization: Bearer fejlécet küld a megadott jogkivonattal.

Egy hitelesítési megadása felülbírál bármely Authorization fejlécet, amelyet megadtak a Fejlécek-nek, vagy amely benne van a WebSession-ban.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Paramétertulajdonságok

Típus:WebAuthenticationType
Alapértelmezett érték:None
Elfogadott értékek:None, Basic, Bearer, OAuth
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Body

A kérelem törzsét adja meg. A törzs a fejléceket követő kérés tartalma. A törzsértéket a Invoke-WebRequestrészére is át lehet irányítani.

A törzs paraméterrel megadhatja a lekérdezési paraméterek listáját, vagy megadhatja a válasz tartalmát. Lekérdezési paraméterek esetén a parancsmag a System.Net.WebUtility.UrlEncode metódust használja a kulcs-érték párok kódolásához. További információ az URL-címek sztringjeinek kódolásáról: urlEncode() metódus hivatkozási.

Ha a bemenet POST kérés, és a törzs egy karakterlánc, az első egyenlőségjel (=) bal oldalán lévő érték kulcsként van beállítva az űrlapadatokban, a fennmaradó szöveg pedig értékként van beállítva. Több kulcs megadásához használjon egy IDictionary objektumot, például hash táblát a Törzsszámára.

Ha a bemenet egy GET kérés, és a törzs egy IDictionary (ami általában egy kivonattáblázat), a törzs az URI-hoz lekérdezési paraméterekként kerül hozzáadásra. Más kéréstípusok (például PATCH) esetén a törzs a kérés törzsének értékeként van beállítva szabványos name=value formátumban az URL-kódolású értékekkel.

Ha a bemenet egy System.Xml.XmlNode objektum, és az XML-deklaráció egy kódolást határoz meg, akkor a rendszer a kérelemben szereplő adatok kódolását használja, kivéve, ha a ContentType paraméter felülírja.

A Törzs paraméter egy objektumot System.Net.Http.MultipartFormDataContent is elfogad. Ez megkönnyíti a multipart/form-data kéréseket. Ha egy TöbbpartFormDataContent objektumot ad meg a törzshöz, a Tartalomtípus, fejlécek vagy WebSession paramétereknek megadott tartalomhoz kapcsolódó fejléceket felülbírálják a MultipartFormDataContent objektum tartalomfejlécei. Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Paramétertulajdonságok

Típus:Object
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:True
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Certificate

Megadja a biztonságos webkérelemhez használt ügyféltanúsítványt. Adjon meg egy változót, amely tartalmaz egy tanúsítványt, vagy egy parancsot vagy kifejezést, amely lekéri a tanúsítványt.

Tanúsítvány kereséséhez használja a Get-PfxCertificate, vagy használja a Get-ChildItem parancsmagot a Tanúsítvány (Cert:) meghajtón. Ha a tanúsítvány érvénytelen, vagy nem rendelkezik megfelelő jogosultságtal, a parancs meghiúsul.

Paramétertulajdonságok

Típus:X509Certificate
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-CertificateThumbprint

Egy olyan felhasználói fiók digitális nyilvános kulcsú tanúsítványát (X509) adja meg, amely jogosult a kérés elküldésére. Adja meg a tanúsítvány ujjlenyomatát.

A tanúsítványok az ügyféltanúsítvány-alapú hitelesítésben használatosak. A tanúsítványok csak helyi felhasználói fiókokhoz rendelhetők le, tartományi fiókokhoz nem.

A tanúsítvány ujjlenyomatának megtekintéséhez a Get-Item vagy Get-ChildItem paranccsal keresse meg a tanúsítványt a Cert:\CurrentUser\My.

Megjegyzés:

Ez a funkció csak Windows operációsrendszer-platformokon támogatott.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ConnectionTimeoutSeconds

Megadja, hogy mennyi ideig lehet függőben a kérelem, mielőtt túllépi az időkorlátot. Adjon meg egy értéket másodpercek alatt. Az alapértelmezett érték, 0, meghatározatlan időtartamot ad meg.

A DNS-lekérdezések visszatérése vagy időtúllépése akár 15 másodpercet is igénybe vehet. Ha a kérés olyan gazdagépnevet tartalmaz, amely megoldásra szorul, és a ConnectionTimeoutSeconds értéke nullánál nagyobb, de 15 másodpercnél rövidebb, 15 másodpercet vagy többet is igénybe vehet, mielőtt egy WebException dobódik ki, és a kérés túllépi az időkorlátot.

Ez a paraméter felváltotta a TimeoutSec paramétert a PowerShell 7.4-ben. Használhatja a TimeoutSec kifejezést a ConnectionTimeoutSecondshelyett, aliasaként.

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:TimeoutSec

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ContentType

Megadja a webes kérelem tartalomtípusát.

Ha ContentType értéke tartalmazza a kódolási formátumot (charset), a parancsmag ezt a formátumot használja a webes kérelem törzsének kódolásához. Ha a ContentType nem ad meg kódolási formátumot, a rendszer ehelyett az alapértelmezett kódolási formátumot használja. A kódolási formátummal rendelkező ContentType például text/plain; charset=iso-8859-5, amely a latin/cirill betűs betűkészlet et adja meg.

Ha kihagyja a paramétert, a tartalomtípus a használt HTTP-módszer alapján eltérő lehet:

  • POST metódus esetén a tartalomtípus application/x-www-form-urlencoded
  • PUT metódus esetén a tartalomtípus application/json
  • Más metódusok esetén a tartalomtípus nincs megadva a kérelemben

Ha a InFile paramétert használja egy fájl feltöltéséhez, állítsa be a tartalom típusát. A típusnak általában application/octet-streamkell lennie. A tartalomtípust azonban a végpont követelményei alapján kell beállítania.

ContentType felülbírálva van, ha a törzsMultipartFormDataContent objektum.

A PowerShell 7.4-től kezdve, ha ezt a paramétert és a Fejlécek paramétert is használja a Content-Type fejléc meghatározásához, akkor a ContentType paraméterben megadott érték lesz használva.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Credential

Olyan felhasználói fiókot ad meg, amely rendelkezik a kérés elküldéséhez szükséges engedéllyel. Az alapértelmezett az aktuális felhasználó.

Írjon be egy felhasználónevet, például User01 vagy Domain01\User01, vagy adjon meg egy PSCredential objektumot, amelyet a Get-Credential parancsmag generál.

A hitelesítő adatok önállóan vagy bizonyos hitelesítési paraméterekkel együtt használhatók. Ha egyedül használja, csak akkor adja meg a hitelesítő adatokat a távoli kiszolgálónak, ha a távoli kiszolgáló hitelesítési kérést küld. Ha hitelesítési beállításokat használ, a rendszer kifejezetten elküldi a hitelesítő adatokat.

A hitelesítő adatokat egy PSCredential objektum tárolja, a jelszó pedig SecureString.

Megjegyzés:

További információért a SecureString adatvédelemről lásd: Mennyire biztonságos a SecureString?.

Paramétertulajdonságok

Típus:PSCredential
Alapértelmezett érték:Current user
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-CustomMethod

A webes kérelemhez használt egyéni metódust adja meg. Ez akkor használható, ha a végpont által igényelt kérelemmetódus nem érhető el a metódusban. Metódus és CustomMethod nem használható együtt.

Ez a példa HTTP-kérést TEST küld az API-nak:

Invoke-WebRequest -Uri 'https://api.contoso.com/widget/' -CustomMethod 'TEST'

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:CM

Paraméterkészletek

CustomMethod
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
CustomMethodNoProxy
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-DisableKeepAlive

Azt jelzi, hogy a parancsmag a HTTP-fejlécben lévő KeepAlive értéket a Hamisértékre állítja. Alapértelmezés szerint KeepAliveTrue. KeepAlive állandó kapcsolatot létesít a kiszolgálóval a további kérések megkönnyítése érdekében.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Form

Egy szótárat multipart/form-data beküldéssé alakít át. Űrlap nem alkalmazható a Törzsesetén. A ContentType használata esetén a rendszer figyelmen kívül hagyja.

A szótár kulcsai az űrlapmezők neveként használatosak. Alapértelmezés szerint az űrlapértékek sztringértékekké alakulnak.

Ha az érték egy System.IO.FileInfo objektum, akkor a bináris fájl tartalma el lesz küldve. A fájl neve fájlnév tulajdonságként lesz elküldve. A MIME típusa application/octet-stream. Get-Item a System.IO.FileInfo objektum ellátásának egyszerűsítésére használható.

$Form = @{
    resume = Get-Item 'C:\Users\jdoe\Documents\John Doe.pdf'
}

Ha az érték gyűjteménytípus, például tömbök vagy listák, a program többször küldi el a mező értékét. A lista értékei alapértelmezés szerint sztringekként vannak kezelve. Ha az érték egy System.IO.FileInfo objektum, akkor a bináris fájl tartalma el lesz küldve. Beágyazott gyűjtemények nem támogatottak.

$Form = @{
    tags     = 'Vacation', 'Italy', '2017'
    pictures = Get-ChildItem 'C:\Users\jdoe\Pictures\2017-Italy\'
}

A fenti példában a tags mező háromszor van megadva az űrlapon, egyszer az egyes Vacation, Italyés 2017. A pictures mező a mappában lévő összes fájlhoz egyszer is elküldve 2017-Italy lesz. A mappában lévő fájlok bináris tartalma lesz elküldve értékekként.

Ez a funkció a PowerShell 6.1.0-s verzióban lett hozzáadva.

Paramétertulajdonságok

Típus:IDictionary
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Headers

Meghatározza a webes kérelem fejléceit. Írjon be egy kivonattáblát vagy szótárt.

A tartalommal kapcsolatos fejlécek, például Content-Type felülbírálva lesznek, ha egy MultipartFormDataContent objektumot ad meg a Törzshöz.

A PowerShell 7.4-től kezdődően, ha ezt a paramétert használja a Content-Type fejléc meghatározásához, és ContentType paramétert használja, a ContentType paraméterben megadott érték lesz használva.

Paramétertulajdonságok

Típus:IDictionary
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-HttpVersion

A kérelemhez használt HTTP-verziót adja meg. Az alapértelmezett érték a 1.1.

Az érvényes értékek a következők:

  • 1.0
  • 1.1
  • 2.0
  • 3.0

Paramétertulajdonságok

Típus:Version
Alapértelmezett érték:1.1
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-InFile

Lekéri a webes kérelem törzsének tartalmát egy fájlból. Adjon meg egy elérési utat és egy fájlnevet. Ha kihagyja az elérési utat, az alapértelmezett hely az aktuális hely.

A kérés tartalomtípusát is be kell állítania. Egy fájl feltöltéséhez például meg kell adnia a tartalom típusát. A típusnak általában application/octet-streamkell lennie. A tartalomtípust azonban a végpont követelményei alapján kell beállítania.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-MaximumRedirection

Megadja, hogy a PowerShell hányszor irányítja át a kapcsolatot egy másodlagos egységes erőforrás-azonosítóhoz (URI), mielőtt a kapcsolat meghiúsul. Az alapértelmezett érték 5. A 0 (nulla) érték megakadályozza az összes átirányítást.

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:5
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-MaximumRetryCount

Megadja, hogy a PowerShell hányszor próbálkozik újra egy kapcsolattal, ha 400 és 599 közötti hibakód érkezik, beleértve vagy 304-et. Lásd még RetryIntervalSec paramétert az újrapróbálkozási időköz megadásához.

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Method

A webes kérelemhez használt metódust adja meg. A paraméter elfogadható értékei a következők:

  • Default
  • Delete
  • Get
  • Head
  • Merge
  • Options
  • Patch
  • Post
  • Put
  • Trace

A CustomMethod paraméter a fent nem felsorolt kérelemmetódusokhoz használható.

Paramétertulajdonságok

Típus:WebRequestMethod
Alapértelmezett érték:None
Elfogadott értékek:Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

StandardMethod
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
StandardMethodNoProxy
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-NoProxy

Azt jelzi, hogy a parancsmagnak nem szabad proxyt használnia a cél eléréséhez. Ha meg kell kerülnie a környezetben konfigurált proxyt, használja ezt a kapcsolót. Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

StandardMethodNoProxy
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
CustomMethodNoProxy
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-OperationTimeoutSeconds

Ez az időtúllépés a streamen belüli adatolvasásokra vonatkozik, nem pedig a stream teljes idejére. Az alapértelmezett érték (0) meghatározatlan időtúllépést ad meg.

Az érték 30 másodpercre állítása azt jelenti, hogy a streamben lévő adatok közötti 30 másodpercnél hosszabb késleltetés megszakítja a kérést. A letöltéshez több percig tartó nagy fájl csak akkor fejeződik be, ha a stream 30 másodpercnél hosszabb ideig nem áll le.

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-OutFile

Alapértelmezés szerint Invoke-WebRequest visszaadja az eredményeket a feldolgozási sornak. Ha a OutFile paramétert használja, az eredmények a megadott fájlba kerülnek, és nem kerülnek vissza a folyamatba. Adjon meg egy elérési utat és egy fájlnevet. Ha egy fájlba és a folyamatba szeretné elküldeni az eredményeket, adja hozzá a PassThru paramétert.

Ha kihagyja az elérési utat, az alapértelmezett hely az aktuális hely. A név szó szerinti elérési útként lesz kezelve. A zárójeleket ([]) tartalmazó neveket egy idézőjelbe (') kell befoglalni.

A PowerShell 7.4-től kezdve megadhatja a mappa elérési útját a fájlnév nélkül. Ha így tesz, a parancs a feloldott URI utolsó szegmensének fájlnevét használja az átirányítások után. Ha megadja a OutFilemappa elérési útját, nem használhatja a Önéletrajz paramétert.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-PassThru

Azt jelzi, hogy a parancsmag a fájlba írás mellett az eredményeket is visszaadja. Ez a paraméter csak akkor érvényes, ha az OutFile paramétert is használja a parancs.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-PreserveAuthorizationOnRedirect

Azt jelzi, hogy a parancsmagnak meg kell őriznie a Authorization fejlécet, ha jelen van, az átirányítások között.

Alapértelmezés szerint a parancsmag eltávolítja a Authorization fejlécet az átirányítás előtt. A paraméter megadása letiltja ezt a logikát azokban az esetekben, amikor a fejlécet el kell küldeni az átirányítási helyre.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-PreserveHttpMethodOnRedirect

Azt jelzi, hogy a parancsmagnak meg kell őriznie a kérés metódusát az átirányítások között.

Alapértelmezés szerint a parancsmag GET-ra módosítja a metódust átirányításkor. A paraméter megadása letiltja ezt a logikát, így biztosítható, hogy a kívánt metódus átirányítással is használható legyen.

Ez a funkció a PowerShell 7.4-ben lett hozzáadva.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Proxy

Proxykiszolgálót ad meg a kéréshez, ahelyett, hogy közvetlenül csatlakozik az internetes erőforráshoz. Adja meg egy hálózati proxykiszolgáló URI-ját.

Paramétertulajdonságok

Típus:Uri
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

StandardMethod
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
CustomMethod
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ProxyCredential

Olyan felhasználói fiókot ad meg, amely jogosult a proxyparaméter által megadott proxykiszolgáló használatára. Az alapértelmezett az aktuális felhasználó.

Írjon be egy felhasználónevet, például User01 vagy Domain01\User01, vagy írjon be egy PSCredential objektumot, például a Get-Credential parancsmag által létrehozott objektumot.

Ez a paraméter csak akkor érvényes, ha a parancsban a Proxy paramétert is használja. Nem használhatja a ProxyCredential és ProxyUseDefaultCredentials paramétereket ugyanabban a parancsban.

Paramétertulajdonságok

Típus:PSCredential
Alapértelmezett érték:Current user
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

StandardMethod
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
CustomMethod
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ProxyUseDefaultCredentials

Azt jelzi, hogy a parancsmag az aktuális felhasználó hitelesítő adatait használja a Proxy paraméter által megadott proxykiszolgáló eléréséhez.

Ez a paraméter csak akkor érvényes, ha a parancsban a Proxy paramétert is használja. Nem használhatja a ProxyCredential és ProxyUseDefaultCredentials paramétereket ugyanabban a parancsban.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

StandardMethod
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
CustomMethod
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Resume

Minden tőle telhetőt megtesz egy részleges fájl letöltésének folytatására. Az önéletrajzhoz OutFile szükséges.

Önéletrajz csak a helyi fájl és a távoli fájl méretén működik, és nem végez más ellenőrzést arról, hogy a helyi fájl és a távoli fájl azonos-e.

Ha a helyi fájlméret kisebb, mint a távoli fájlméret, akkor a parancsmag megpróbálja folytatni a fájl letöltését, és hozzáfűzi a fennmaradó bájtokat a fájl végéhez.

Ha a helyi fájlméret megegyezik a távoli fájl méretével, akkor nem történik művelet, és a parancsmag feltételezi, hogy a letöltés már befejeződött.

Ha a helyi fájl mérete nagyobb, mint a távoli fájlméret, akkor a rendszer felülírja a helyi fájlt, és a teljes távoli fájlt újra letölti. Ez a viselkedés ugyanaz, mint OutFile használata Önéletrajznélkül.

Ha a távoli kiszolgáló nem támogatja a letöltés folytatását, a rendszer felülírja a helyi fájlt, és a teljes távoli fájlt újra letölti. Ez a viselkedés ugyanaz, mint OutFile használata Önéletrajznélkül.

Ha a helyi fájl nem létezik, a rendszer létrehozza a helyi fájlt, és letölti a teljes távoli fájlt. Ez a viselkedés ugyanaz, mint OutFile használata Önéletrajznélkül.

Ez a funkció a PowerShell 6.1.0-s verzióban lett hozzáadva.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-RetryIntervalSec

Megadja a kapcsolat újrapróbálkozásai közötti időközt, ha 400 és 599 közötti hibakód érkezik, beleértve vagy 304-et. Az újrapróbálkozások számának megadásához lásd a MaximumRetryCount paramétert is. Az értéknek 1 és [int]::MaxValueközött kell lennie.

Ha a hibakód 429, és a válasz tartalmazza az Újrapróbálkozási tulajdonságot a fejléceiben, a parancsmag ezt az értéket használja az újrapróbálkozási időközhöz, még akkor is, ha ez a paraméter meg van adva.

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:5
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-SessionVariable

Megadja azt a változót, amelyhez ez a parancsmag létrehoz egy webkérelem-munkamenetet, és menti azt az értékben. Adjon meg egy változónevet a dollárjel ($) szimbólum nélkül.

Amikor megad egy munkamenet-változót, Invoke-WebRequest létrehoz egy webkérelem-munkamenet-objektumot, és hozzárendeli azt egy, a PowerShell-munkamenetben megadott névvel rendelkező változóhoz. A változót a parancs befejeződése után használhatja a munkamenetben.

A PowerShell 7.4 előtt a webkérések munkamenete nem tartós kapcsolat. Ez egy objektum, amely információkat tartalmaz a kapcsolatról és a kérésről, beleértve a cookie-kat, a hitelesítő adatokat, a maximális átirányítási értéket és a felhasználói ügynök sztringjét. Ezzel megoszthatja az állapotot és az adatokat a webes kérések között.

A PowerShell 7.4-től kezdve a webes kérelem munkamenete állandó, amíg a munkamenet tulajdonságait nem bírálja felül egy későbbi kérés. Ha így van, a parancsmag újra létrehozza a munkamenetet az új értékekkel. Az állandó munkamenetek csökkentik az ismétlődő kérések többletterhelését, így sokkal gyorsabbak lesznek.

A webkérelem-munkamenet későbbi webes kérelmekben való használatához adja meg a munkamenet változóját a WebSession paraméter értékében. A PowerShell a webkérelem munkamenet-objektumában lévő adatokat használja az új kapcsolat létrehozásakor. Ha felül szeretne bírálni egy értéket a webes kérelem munkamenetében, használjon egy parancsmagparamétert, például UserAgent vagy Hitelesítő adatok. A paraméterértékek elsőbbséget élveznek a webes kérelem munkamenetében lévő értékekkel szemben.

Nem használhatja a SessionVariable és WebSession paramétereket ugyanabban a parancsban.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:SV

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-SkipCertificateCheck

Kihagyja a tanúsítványérvényesítési ellenőrzéseket. Ez magában foglalja az összes ellenőrzést, például a lejáratot, a visszavonást, a megbízható legfelső szintű szolgáltatót stb.

Figyelmeztetés

A paraméter használata nem biztonságos, és nem ajánlott. Ez a kapcsoló csak az ismert gazdagépekkel szemben használható, tesztelési célból önaláírt tanúsítvány használatával. Saját felelősségre használható.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-SkipHeaderValidation

Azt jelzi, hogy a parancsmagnak érvényesítés nélkül kell fejléceket hozzáadnia a kérelemhez.

Ezt a kapcsolót olyan webhelyekhez kell használni, amelyek olyan fejlécértékeket igényelnek, amelyek nem felelnek meg a szabványoknak. A kapcsoló bekapcsolása letiltja az érvényesítést, így az érték ellenőrzés nélkül kerül továbbításra. Ha meg van adva, a rendszer minden fejlécet érvényesítés nélkül ad hozzá.

Ez a kapcsoló letiltja a ContentType, a Fejlécek és a UserAgent paramétereknek átadott értékek érvényesítését.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-SkipHttpErrorCheck

Ez a paraméter miatt a parancsmag figyelmen kívül hagyja a HTTP-hibaállapotokat, és folytatja a válaszok feldolgozását. A hibaválaszok ugyanúgy lesznek megírva a folyamatba, mintha sikeresek lennének.

Ez a paraméter a PowerShell 7-ben lett bevezetve.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-SslProtocol

Beállítja a webes kéréshez megengedett SSL-/TLS-protokollokat. Alapértelmezés szerint a rendszer által támogatott SSL-/TLS-protokollok engedélyezettek. SslProtocol lehetővé teszi az adott protokollokra való korlátozást megfelelőségi célokból.

Ezek az értékek jelölőalapú számbavételként vannak definiálva. Több érték kombinálásával több jelölőt is beállíthat ezzel a paraméterrel. Az értékek átadhatók az SslProtocol paraméternek értéktömbként vagy az értékek vesszővel elválasztott sztringjeként. A parancsmag egy bináris "VAGY" művelettel kombinálja az értékeket. Az értékek tömbként való átadása a legegyszerűbb lehetőség, és lehetővé teszi a tabulátorkiegészítés használatát is az értékeken. Előfordulhat, hogy nem tud több beállítást meghatározni minden platformon.

Megjegyzés:

Nem Windows-platformokon előfordulhat, hogy nem lehet megadni Tls vagy Tls12 lehetőségként. Tls13 A támogatás nem minden operációs rendszeren érhető el, és operációs rendszerenként kell ellenőrizni.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva, és a Tls13 Támogatás a PowerShell 7.1-ben lett hozzáadva.

Paramétertulajdonságok

Típus:WebSslProtocol
Alapértelmezett érték:None
Elfogadott értékek:Default, Tls, Tls11, Tls12
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Token

A kérésben belefoglalandó OAuth vagy Bearer jogkivonat. token szükséges bizonyos hitelesítési beállításokhoz. Önállóan nem használható.

A jogkivonat a jogkivonatot SecureString tartalmazza. A jogkivonat manuális megadásához használja a következőket:

Invoke-WebRequest -Uri $uri -Authentication OAuth -Token (Read-Host -AsSecureString)

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

Paramétertulajdonságok

Típus:SecureString
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-TransferEncoding

Megadja az átvitelkódoló HTTP-válaszfejléc értékét. A paraméter elfogadható értékei a következők:

  • Chunked
  • Compress
  • Deflate
  • GZip
  • Identity

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Elfogadott értékek:chunked, compress, deflate, gzip, identity
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-UnixSocket

Megadja annak a Unix-szoftvercsatornának a nevét, amelyhez csatlakozni szeretne. Ez a paraméter a Unix-alapú rendszereken és a Windows 1803-es és újabb verzióiban támogatott. További információ a Unix socketek Windows támogatásáról a Windows/WSL Interop with AF_UNIX blogbejegyzésben található.

Ez a paraméter a PowerShell 7.4-ben lett hozzáadva.

Paramétertulajdonságok

Típus:UnixDomainSocketEndPoint
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Uri

Annak az internetes erőforrásnak az egységes erőforrás-azonosítóját (URI) adja meg, amelyre a webes kérést küldi. Adjon meg egy URI-t. Ez a paraméter csak a HTTP-t vagy a HTTPS-t támogatja.

Ez a paraméter kötelező. Az Uri paraméternév megadása nem kötelező.

Paramétertulajdonságok

Típus:Uri
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-UseBasicParsing

Ez a paraméter elavult. A PowerShell 6.0.0-tól kezdve minden webes kérés csak alapszintű elemzést használ. Ez a paraméter csak a visszamenőleges kompatibilitás érdekében érhető el, és annak bármilyen használata nincs hatással a parancsmag működésére.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-UseDefaultCredentials

Azt jelzi, hogy a parancsmag az aktuális felhasználó hitelesítő adatait használja a webes kérés elküldéséhez. Ez nem használható együtt a hitelesítéssel vagy a hitelesítő adatokkal, és nem biztos, hogy minden platformon támogatott.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-UserAgent

Meghatároz egy user agent karakterláncot a webes kéréshez.

Az alapértelmezett felhasználói ügynök hasonló az Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0, és az egyes operációs rendszerek és platformok esetében kisebb eltéréseket mutat.

Ha a legtöbb internetböngésző által használt szabványos felhasználói ügynök sztringgel szeretne tesztelni egy webhelyet, használja a PSUserAgent osztály tulajdonságait, például Chrome, Firefox, InternetExplorer, Opera és Safari.

A következő parancs például a felhasználói ügynök sztringet használja az Internet Explorerhez: Invoke-WebRequest -Uri https://website.com/ -UserAgent ([Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer)

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-WebSession

Webkérelem-munkamenetet határoz meg. Adja meg a változó nevét, beleértve a dollárjelet ($).

Ha felül szeretne bírálni egy értéket a webes kérelem munkamenetében, használjon egy parancsmagparamétert, például UserAgent vagy Hitelesítő adatok. A paraméterértékek elsőbbséget élveznek a webes kérelem munkamenetében lévő értékekkel szemben. A tartalommal kapcsolatos fejléceket, például Content-Typea többpartFormDataContent objektum törzshöz való megadásakor is felül kell bírálni.

A távoli munkamenettől eltérően a webkérés munkamenete nem egy állandó kapcsolat. Ez egy objektum, amely információkat tartalmaz a kapcsolatról és a kérésről, beleértve a cookie-kat, a hitelesítő adatokat, a maximális átirányítási értéket és a felhasználói ügynök sztringjét. Ezzel megoszthatja az állapotot és az adatokat a webes kérések között.

Webkérelem-munkamenet létrehozásához írjon be egy változónevet dollárjel nélkül a SessionVariable paraméter értékébe egy Invoke-WebRequest parancsban. Invoke-WebRequest létrehozza a munkamenetet, és megmenti a változóban. A következő parancsokban használja a változót a WebSession paraméter értékeként.

Nem használhatja a SessionVariable és WebSession paramétereket ugyanabban a parancsban.

Paramétertulajdonságok

Típus:WebRequestSession
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

CommonParameters

Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.

Bevitelek

Object

Erre a parancsmagra egy webes kérés törzsét is becsúszthatja.

Kimenetek

BasicHtmlWebResponseObject

Ez a parancsmag a webes kérés eredményét képviselő válaszobjektumot adja vissza.

Jegyzetek

A PowerShell a következő aliasokat tartalmazza Invoke-WebRequest:

  • Minden platform:
    • iwr

A PowerShell 6.0.0-tól Invoke-WebRequest kezdve csak az alapszintű elemzést támogatja.

További információ: BasicHtmlWebResponseObject.

A .NET Core 3.1 változásai miatt a PowerShell 7.0 és újabb verziói a HttpClient.DefaultProxy tulajdonságot használják a proxykonfiguráció meghatározásához.

A tulajdonság értékét a platform határozza meg:

  • Windows esetén: Beolvassa a proxykonfigurációt a környezeti változókból. Ha ezek a változók nincsenek definiálva, a tulajdonság a felhasználó proxybeállításaiból származik.
  • MacOS esetén: Beolvassa a proxykonfigurációt a környezeti változókból. Ha ezek a változók nincsenek definiálva, a tulajdonság a rendszer proxybeállításaiból származik.
  • Linux esetén: Beolvassa a proxykonfigurációt a környezeti változókból. Ha ezek a változók nincsenek definiálva, a tulajdonság inicializál egy nem konfigurált példányt, amely minden címet átad.

A Windows- és Unix-alapú platformok DefaultProxy inicializálásához használt környezeti változók a következők:

  • HTTP_PROXY: a HTTP-kérelmekben használt proxykiszolgáló állomásneve vagy IP-címe.
  • HTTPS_PROXY: a HTTPS-kérelmekben használt proxykiszolgáló állomásneve vagy IP-címe.
  • ALL_PROXY: a HTTP- és HTTPS-kérelmekben használt proxykiszolgáló állomásneve vagy IP-címe, ha nincs definiálva HTTP_PROXY vagy HTTPS_PROXY.
  • NO_PROXY: azoknak a gazdagépneveknek a vesszővel tagolt listája, amelyeket ki kell zárni a proxyzásból.

A PowerShell 7.4 támogatja a Brotli tömörítési algoritmust.