Invoke-RestMethod

RESTful web hizmetine HTTP veya HTTPS isteği gönderir.

Syntax

Invoke-RestMethod
      [-FollowRelLink]
      [-MaximumFollowRelLink <Int32>]
      [-ResponseHeadersVariable <String>]
      [-StatusCodeVariable <String>]
      [-UseBasicParsing]
      [-Uri] <Uri>
      [-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>]
Invoke-RestMethod
      [-FollowRelLink]
      [-MaximumFollowRelLink <Int32>]
      [-ResponseHeadersVariable <String>]
      [-StatusCodeVariable <String>]
      [-UseBasicParsing]
      [-Uri] <Uri>
      [-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>]
Invoke-RestMethod
      [-FollowRelLink]
      [-MaximumFollowRelLink <Int32>]
      [-ResponseHeadersVariable <String>]
      [-StatusCodeVariable <String>]
      [-UseBasicParsing]
      [-Uri] <Uri>
      [-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>]
      -CustomMethod <String>
      [-PreserveHttpMethodOnRedirect]
      [-UnixSocket <UnixDomainSocketEndPoint>]
      [-Proxy <Uri>]
      [-ProxyCredential <PSCredential>]
      [-ProxyUseDefaultCredentials]
      [-Body <Object>]
      [-Form <IDictionary>]
      [-ContentType <String>]
      [-TransferEncoding <String>]
      [-InFile <String>]
      [-OutFile <String>]
      [-PassThru]
      [-Resume]
      [-SkipHttpErrorCheck]
      [<CommonParameters>]
Invoke-RestMethod
      [-FollowRelLink]
      [-MaximumFollowRelLink <Int32>]
      [-ResponseHeadersVariable <String>]
      [-StatusCodeVariable <String>]
      [-UseBasicParsing]
      [-Uri] <Uri>
      [-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>]
      -CustomMethod <String>
      [-PreserveHttpMethodOnRedirect]
      [-UnixSocket <UnixDomainSocketEndPoint>]
      [-NoProxy]
      [-Body <Object>]
      [-Form <IDictionary>]
      [-ContentType <String>]
      [-TransferEncoding <String>]
      [-InFile <String>]
      [-OutFile <String>]
      [-PassThru]
      [-Resume]
      [-SkipHttpErrorCheck]
      [<CommonParameters>]

Description

Cmdlet, Invoke-RestMethod zengin yapılandırılmış veriler döndüren Temsili Durum Aktarımı (REST) web hizmetlerine HTTP ve HTTPS istekleri gönderir.

PowerShell, yanıtı veri türüne göre biçimlendirer. Bir RSS veya ATOM akışı için PowerShell, Öğe veya Giriş XML düğümlerini döndürür. JavaScript Nesne Gösterimi (JSON) veya XML için PowerShell içeriği nesnelere [PSCustomObject] dönüştürür veya seri durumdan çıkartır.

Not

REST uç noktası birden çok nesne döndürdüğünde, nesneler dizi olarak alınır. Çıkışını Invoke-RestMethod başka bir komuta aktarırsanız, tek [Object[]] bir nesne olarak gönderilir. Bu dizinin içeriği, işlem hattındaki sonraki komut için numaralandırılmaz.

Bu cmdlet, Windows PowerShell 3.0'da kullanıma sunulmuştur.

PowerShell 7.0'da başlayarak ortam Invoke-RestMethod değişkenleri tarafından tanımlanan ara sunucu yapılandırmasını destekler. Bu makalenin Notlar bölümüne bakın.

PowerShell 7.4'den başlayarak, istekler için karakter kodlaması varsayılan olarak ASCII yerine UTF-8'e ayarlı olur. Farklı bir kodlamaya ihtiyacınız varsa, üst bilgide Content-Type özniteliğini ayarlamanız charset gerekir.

Örnekler

Örnek 1: PowerShell RSS akışını alma

Bu örnek, PowerShell Blog RSS akışından bilgi almak için cmdlet'ini kullanır Invoke-RestMethod . komut, bir tablodaki Format-Table her blogun Title ve pubDate özelliklerinin değerlerini görüntülemek için cmdlet'ini kullanır.

Invoke-RestMethod -Uri https://blogs.msdn.microsoft.com/powershell/feed/ |
  Format-Table -Property Title, pubDate

Title                                                                pubDate
-----                                                                -------
Join the PowerShell 10th Anniversary Celebration!                    Tue, 08 Nov 2016 23:00:04 +0000
DSC Resource Kit November 2016 Release                               Thu, 03 Nov 2016 00:19:07 +0000
PSScriptAnalyzer Community Call - Oct 18, 2016                       Thu, 13 Oct 2016 17:52:35 +0000
New Home for In-Box DSC Resources                                    Sat, 08 Oct 2016 07:13:10 +0000
New Social Features on Gallery                                       Fri, 30 Sep 2016 23:04:34 +0000
PowerShellGet and PackageManagement in PowerShell Gallery and GitHub Thu, 29 Sep 2016 22:21:42 +0000
PowerShell Security at DerbyCon                                      Wed, 28 Sep 2016 01:13:19 +0000
DSC Resource Kit September Release                                   Thu, 22 Sep 2016 00:25:37 +0000
PowerShell DSC and implicit remoting broken in KB3176934             Tue, 23 Aug 2016 15:07:50 +0000
PowerShell on Linux and Open Source!                                 Thu, 18 Aug 2016 15:32:02 +0000

Örnek 2: POST isteği çalıştırma

Bu örnekte, kullanıcı, kullanıcının kuruluşundaki bir intranet web sitesinde POST isteği gerçekleştirmek için çalışır Invoke-RestMethod .

$Cred = Get-Credential
$Url = "https://server.contoso.com:8089/services/search/jobs/export"
$Body = @{
    search = "search index=_internal | reverse | table index,host,source,sourcetype,_raw"
    output_mode = "csv"
    earliest_time = "-2d@d"
    latest_time = "-1d@d"
}
Invoke-RestMethod -Method 'Post' -Uri $url -Credential $Cred -Body $body -OutFile output.csv

Kimlik bilgileri istenir ve içinde $Cred depolanır ve erişilecek URL içinde $Urltanımlanır.

$Body değişkeni arama ölçütlerini açıklar, çıkış modu olarak CSV'yi belirtir ve döndürülen veriler için iki gün önce başlayıp bir gün önce biten bir zaman aralığını belirtir. Gövde değişkeni, iletişimde olan belirli REST API'ye uygulanan parametrelerin Invoke-RestMethod değerlerini belirtir.

Komut Invoke-RestMethod , sonuçta elde edilen CSV çıkış dosyası için bir yol ve dosya adı belirterek tüm değişkenler yerinde çalıştırılır.

Örnek 3: İlişki bağlantılarını izleme

Bazı REST API'leri, RFC5988 başına İlişki Bağlantıları aracılığıyla sayfalandırmayı destekler. Sonraki sayfanın URL'sini almak için üst bilgiyi ayrıştırmak yerine, cmdlet'in bunu sizin için gerçekleştirmesini sağlayabilirsiniz. Bu örnek, PowerShell GitHub deposundaki sorunların ilk iki sayfasını döndürür.

$url = 'https://api.github.com/repos/powershell/powershell/issues'
Invoke-RestMethod $url -FollowRelLink -MaximumFollowRelLink 2

Örnek 4: Basitleştirilmiş Çok Parçalı/Form-Veri Gönderimi

Bazı API'ler dosyaları ve karma içeriği karşıya yüklemek için gönderim gerektirir multipart/form-data . Bu örnekte bir kullanıcının profilinin nasıl güncelleştirilecekleri gösterilmektedir.

$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-RestMethod -Uri $Uri -Method Post -Form $Form

Profil formu şu alanları gerektirir: firstName, lastName, email, avatar, birthdayve hobbies. API, kullanıcı profili resmi için alanda bir görüntü sağlanmasını avatar bekliyor. API aynı formda gönderilecek birden çok hobbies girdiyi de kabul eder.

HashTable oluşturulurken $Form , anahtar adları form alanı adları olarak kullanılır. Varsayılan olarak, HashTable değerleri dizelere dönüştürülür. Bir System.IO.FileInfo değer varsa, dosya içeriği gönderilir. Diziler veya listeler gibi bir koleksiyon varsa, form alanı birden çok kez gönderilir.

anahtarında avatar kullanıldığındaGet-Item, FileInfo nesne değer olarak ayarlanır. Sonuç, için jdoe.png görüntü verilerinin gönderileceğidir.

Anahtara hobbies bir liste sağlandığında, hobbies alan her liste öğesi için gönderimlerde bir kez bulunur.

Örnek 5: Birden çok üst bilgi geçirme

API'ler genellikle kimlik doğrulaması veya doğrulama için geçirilen üst bilgileri gerektirir. Bu örnek, bir hash-table REST API'ye birden çok üst bilgi geçirmeyi gösterir.

$headers = @{
    'userId' = 'UserIDValue'
    'token' = 'TokenValue'
}
Invoke-RestMethod -Uri $uri -Method Post -Headers $headers -Body $body

Örnek 6: İşlem hattında döndürülen öğeleri listeleme

GitHub bir diziyi birden çok nesne döndürür. Çıkışı başka bir komuta aktarırsanız, tek [Object[]]bir nesne olarak gönderilir.

Nesneleri işlem hattına numaralandırmak için sonuçları cmdlet'e Write-Output yöneltin veya parantez içinde sarmalayın. Aşağıdaki örnek, GitHub tarafından döndürülen nesne sayısını sayar. Ardından işlem hattına numaralandırılmış nesne sayısını sayar.

$uri = 'https://api.github.com/repos/microsoftdocs/powershell-docs/issues'
$x = 0
Invoke-RestMethod -Uri $uri | ForEach-Object { $x++ }
$x
1

$x = 0
(Invoke-RestMethod -Uri $uri) | ForEach-Object { $x++ }
$x
30

$x = 0
Invoke-RestMethod -Uri $uri | Write-Output | ForEach-Object { $x++ }
$x
30

Örnek 7: Üst Bilgi Doğrulama atlanıyor

Varsayılan olarak, Invoke-RestMethod cmdlet standartards tanımlı değer biçimine sahip iyi bilinen üst bilgilerin değerlerini doğrular. Aşağıdaki örnekte, bu doğrulamanın nasıl hata oluşturabileceği ve geçersiz biçimlendirilmiş değerleri tolere eden uç noktalar için değerlerin doğrulanmasından kaçınmak için SkipHeaderValidation parametresini nasıl kullanabileceğiniz gösterilmektedir.

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

Invoke-RestMethod -Uri $Uri -Headers $InvalidHeaders

Invoke-RestMethod -Uri $Uri -Headers $InvalidHeaders -SkipHeaderValidation |
    Format-List

Invoke-RestMethod: The format of value '12345' is invalid.

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=Root=1-62f150a6-27754fd4226f31b43a3d2874}

httpbin.org, sorun gidermeye yönelik web istekleri ve yanıtları hakkında bilgi döndüren bir hizmettir. $Uri değişkeni, yanıttaki /headers içerik olarak bir isteğin üst bilgilerini döndüren hizmetin uç noktasına atanır.

İstek If-Match üst bilgisi RFC-7232 bölüm 3.1'de tanımlanır ve bu üst bilginin değerinin çevresindeki tırnak işaretleri ile tanımlanmasını gerektirir. değişkenine $InvalidHeaders değerinin If-Match yerine "12345"olarak 12345 tanımlandığı için geçersiz olduğu bir karma tablo atanır.

Geçersiz üst bilgilerle çağrılması Invoke-RestMethod , biçimlendirilmiş değerin geçersiz olduğunu bildiren bir hata döndürür. İstek uç noktaya gönderilmez.

SkipHeaderValidation parametresiyle çağrılması Invoke-RestMethod doğrulama hatasını yoksayar ve isteği uç noktaya gönderir. Uç nokta uyumlu olmayan üst bilgi değerlerini tolere ettiğinden, cmdlet yanıt nesnesini hatasız döndürür.

Örnek 8: HTTP 2.0 kullanarak istek gönderme

Bu örnek, HTTP 2.0 protokolunu kullanarak GitHub sorununu sorgular.

$uri = 'https://api.github.com/repos/microsoftdocs/powershell-docs/issues'
Invoke-RestMethod -Uri $uri -HttpVersion 2.0 -SkipCertificateCheck

Örnek 9: Unix yuva uygulamasına istek gönderme

Docker gibi bazı uygulamalar, iletişim için unix yuvasını kullanıma sunar. Bu örnek, Docker API'sini kullanarak Docker görüntülerinin listesini sorgular. Cmdlet, Unix yuvasını kullanarak Docker daemon'a bağlanır.

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

Parametreler

-AllowInsecureRedirect

HTTPS'den HTTP'ye yeniden yönlendirmeye izin verir. Varsayılan olarak, HTTPS'den HTTP'ye yönlendirilen tüm istekler bir hatayla sonuçlanır ve şifrelenmemiş bağlantılar üzerinden yanlışlıkla düz metin olarak iletişim kurmasını önlemek için istek durduruldu. Bu davranışı kendi riski altında geçersiz kılmak için AllowInsecureRedirect parametresini kullanın.

Bu parametre PowerShell 7.4'e eklendi.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllowUnencryptedAuthentication

Kimlik bilgilerinin ve gizli dizilerin şifrelenmemiş bağlantılar üzerinden gönderilmesine izin verir. Varsayılan olarak, Kimlik Bilgisi'nin veya Uri ile başlamayan https:// herhangi bir Kimlik Doğrulaması seçeneğinin belirtilmesi hataya neden olur ve şifrelenmemiş bağlantılar üzerinden gizli dizilerin yanlışlıkla düz metin olarak iletilmesini önlemek için istek durdurulur. Bu davranışı kendi riski altında geçersiz kılmak için AllowUnencryptedAuthentication parametresini sağlayın.

Uyarı

Bu parametrenin kullanılması güvenli değildir ve önerilmez. Yalnızca şifrelenmiş bağlantılar sağlayamayan eski sistemlerle uyumluluk için sağlanır. Kendi riskinizle kullanın.

Bu özellik PowerShell 6.0.0'a eklendi.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Authentication

İstek için kullanılacak açık kimlik doğrulama türünü belirtir. Varsayılan değer Yok'tır. Authentication parametresi UseDefaultCredentials parametresiyle kullanılamaz.

Kullanılabilir Kimlik Doğrulama Seçenekleri:

  • None: Kimlik doğrulaması sağlanmadığında bu varsayılan seçenektir. Açık kimlik doğrulaması kullanılmaz.
  • Basic: Kimlik Bilgisi gerektirir. Kimlik bilgileri biçiminde bir RFC 7617 Temel Kimlik Doğrulaması Authorization: Basic üst bilgisi base64(user:password)göndermek için kullanılır.
  • Bearer: Belirteç parametresini gerektirir. Sağlanan belirteçle bir RFC 6750 Authorization: Bearer üst bilgisi gönderir.
  • OAuth: Belirteç parametresini gerektirir. Sağlanan belirteçle bir RFC 6750 Authorization: Bearer üst bilgisi gönderir.

Kimlik Doğrulaması sağlamak, Üst Bilgiler'e sağlanan veya WebSession'adahil edilen tüm Authorization üst bilgileri geçersiz kılar.

Bu özellik PowerShell 6.0.0'a eklendi.

Type:WebAuthenticationType
Accepted values:None, Basic, Bearer, OAuth
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Body

İsteğin gövdesini belirtir. Gövde, üst bilgileri izleyen isteğin içeriğidir. Gövde değerini öğesine Invoke-RestMethodde yöneltebilirsiniz.

Gövde parametresi, sorgu parametrelerinin listesini veya yanıtın içeriğini belirtmek için kullanılabilir.

Giriş bir POST isteği ve gövde bir Dize olduğunda, ilk eşittir işaretinin (=) solundaki değer form verilerinde bir anahtar olarak ayarlanır ve kalan metin değer olarak ayarlanır. Birden çok anahtar belirtmek için Gövde için karma tablo gibi bir IDictionary nesnesi kullanın.

Giriş bir GET isteği olduğunda ve gövde bir IDictionary (genellikle bir karma tablosu) olduğunda, gövde sorgu parametreleri olarak URI'ye eklenir. Diğer istek türleri (PATCH gibi) için gövde, url ile kodlanmış değerleriyle standart name=value biçimde istek gövdesinin değeri olarak ayarlanır.

Giriş bir System.Xml.XmlNode nesnesi olduğunda ve XML bildirimi bir kodlama belirtiyorsa, ContentType parametresi tarafından geçersiz kılınmadığı sürece istekteki veriler için bu kodlama kullanılır.

Gövde bir form olduğunda veya başka bir Invoke-WebRequest çağrının çıktısı olduğunda, PowerShell istek içeriğini form alanlarına ayarlar.

Body parametresi bir System.Net.Http.MultipartFormDataContent nesnesini de kabul edebilir. Bu, istekleri kolaylaştırır multipart/form-data . Gövde için MultipartFormDataContentnesnesi sağlandığında ContentType, Headers veya WebSession parametrelerine sağlanan içerikle ilgili tüm üst bilgiler nesnenin MultipartFormDataContent içerik üst bilgileri tarafından geçersiz kılınır. Bu özellik PowerShell 6.0.0'a eklendi.

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Certificate

Güvenli bir web isteği için kullanılan istemci sertifikasını belirtir. Sertifikayı içeren bir değişken veya sertifikayı alan bir komut veya ifade girin.

Sertifika bulmak için Sertifika () sürücüsündeki cmdlet'ini kullanın Get-PfxCertificate veya kullanınGet-ChildItem.Cert: Sertifika geçerli değilse veya yeterli yetkiye sahip değilse, komut başarısız olur.

Type:X509Certificate
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

İsteği gönderme izni olan bir kullanıcı hesabının dijital ortak anahtar sertifikasını (X509) belirtir. Sertifikanın sertifika parmak izini girin.

Sertifikalar, istemci sertifikası tabanlı kimlik doğrulamasında kullanılır. Sertifikalar yalnızca yerel kullanıcı hesaplarıyla eşlenebilir, etki alanı hesaplarıyla eşlenemez.

Sertifika parmak izini görmek için veya Get-ChildItem komutunu kullanarak Get-Item içinde Cert:\CurrentUser\Mysertifikayı bulun.

Not

Bu özellik şu anda yalnızca Windows işletim sistemi platformlarında desteklenmektedir.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionTimeoutSeconds

İsteğin zaman aşımına uğramadan önce ne kadar süreyle beklenebileceğini belirtir. Saniye olarak bir değer girin. Varsayılan değer olan 0, süresiz bir zaman aşımı belirtir.

Etki Alanı Adı Sistemi (DNS) sorgusu döndürülmesi veya zaman aşımına uğrarken 15 saniye kadar sürebilir. İsteğiniz çözüm gerektiren bir konak adı içeriyorsa ve Bağlan ionTimeoutSeconds değerini sıfırdan büyük ancak 15 saniyeden kısa bir değere ayarlarsanız, WebException'ın atılması 15 saniye veya daha fazla sürebilir ve isteğiniz zaman aşımına uğrar.

Bu parametre, PowerShell 7.4'teki TimeoutSec parametresinin yerini aldı. TimeoutSec'i Bağlan ionTimeoutSeconds için diğer ad olarak kullanabilirsiniz.

Type:Int32
Aliases:TimeoutSec
Position:Named
Default value:0
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ContentType

Web isteğinin içerik türünü belirtir.

ContentType değeri kodlama biçimini (olarakcharset) içeriyorsa, cmdlet web isteğinin gövdesini kodlamak için bu biçimi kullanır. ContentType bir kodlama biçimi belirtmezse, bunun yerine varsayılan kodlama biçimi kullanılır. Kodlama biçimine sahip bir ContentType örneği, Latin/Kiril alfabesini belirten şeklindedirtext/plain; charset=iso-8859-5.

Bu parametre atlanırsa ve istek yöntemi POST ise, Invoke-RestMethod içerik türünü olarak application/x-www-form-urlencodedayarlar. Aksi takdirde, içerik türü çağrıda belirtilmez.

Body için bir MultipartFormDataContent nesne sağlandığında ContentType geçersiz kılınır.

PowerShell 7.4'den başlayarak, üst bilgiyi tanımlamak Content-Type için hem bu parametreyi hem de Headers parametresini kullanırsanız, ContentType parametresinde belirtilen değer kullanılır.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

İsteği gönderme izni olan bir kullanıcı hesabı belirtir. Varsayılan, mevcut kullanıcıdır.

User01 veya Domain01\User01 gibi bir kullanıcı adı yazın veya cmdlet tarafından Get-Credential oluşturulan bir PSCredential nesnesi girin.

Kimlik bilgileri tek başına veya belirli Kimlik Doğrulama parametresi seçenekleriyle birlikte kullanılabilir. Tek başına kullanıldığında, yalnızca uzak sunucu kimlik doğrulaması sınama isteği gönderirse uzak sunucuya kimlik bilgileri sağlar. Kimlik doğrulama seçenekleriyle kullanıldığında, kimlik bilgileri açıkça gönderilir.

Kimlik bilgileri bir PSCredential nesnesinde depolanır ve parola SecureString olarak depolanır.

Not

SecureString veri koruması hakkında daha fazla bilgi için bkz. SecureString ne kadar güvenli?.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CustomMethod

Web isteği için kullanılan özel yöntemi belirtir. Bu, uç noktanın gerektirdiği İstek Yöntemi ile kullanılabilir, Yöntem'de kullanılabilir bir seçenek değildir. Yöntem ve CustomMethod birlikte kullanılamaz.

Örnek:

Invoke-RestMethod -uri 'https://api.contoso.com/widget/' -CustomMethod 'TEST'

Bu, API'ye bir TEST HTTP isteğinde bulunur.

Bu özellik PowerShell 6.0.0'a eklendi.

Type:String
Aliases:CM
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DisableKeepAlive

cmdlet'in HTTP üst bilgisindeki KeepAlive değerini False olarak ayarladığını gösterir. Varsayılan olarak KeepAlive True'dur. KeepAlive , sonraki istekleri kolaylaştırmak için sunucuya kalıcı bir bağlantı kurar.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Cmdlet'in ilişki bağlantılarını izlemesi gerektiğini gösterir.

Bazı REST API'leri, RFC5988 başına İlişki Bağlantıları aracılığıyla sayfalandırmayı destekler. Sonraki sayfanın URL'sini almak için üst bilgiyi ayrıştırmak yerine, cmdlet'in bunu sizin için gerçekleştirmesini sağlayabilirsiniz. İlişki bağlantılarının kaç kez izleyebileceğinizi ayarlamak için MaximumFollowRelLink parametresini kullanın.

Bu anahtarı kullanırken, cmdlet sonuç sayfalarından oluşan bir koleksiyon döndürür. Her sonuç sayfası birden çok sonuç öğesi içerebilir.

Bu özellik PowerShell 6.0.0'a eklendi.

Type:SwitchParameter
Aliases:FL
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Form

Sözlüğü gönderime multipart/form-data dönüştürür. Form Gövde ile kullanılamayabilir. ContentType yoksayılırsa.

Sözlüğün anahtarları, form alanı adları olarak kullanılır. Varsayılan olarak, form değerleri dize değerlerine dönüştürülür.

Değer bir System.IO.FileInfo nesnesiyse, ikili dosya içeriği gönderilir. Dosyanın adı olarak filenamegönderilir. MIME olarak application/octet-streamayarlanır. Get-ItemSystem.IO.FileInfo nesnesinin tedarikini basitleştirmek için kullanılabilir.

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

Değer Dizi veya Liste gibi bir koleksiyon türüyse, for alanı birden çok kez gönderilir. Listenin değerleri varsayılan olarak dize olarak değerlendirilir. Değer bir System.IO.FileInfo nesnesiyse, ikili dosya içeriği gönderilir. İç içe koleksiyonlar desteklenmez.

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

Yukarıdaki örnekte, alanı , ve 2017alanlarının tags her biri VacationItalyiçin bir kez olmak üzere formda üç kez sağlanacaktır. Alan pictures , klasördeki 2017-Italy her dosya için de bir kez gönderilir. Bu klasördeki dosyaların ikili içeriği değerler olarak gönderilir.

Bu özellik PowerShell 6.1.0'a eklendi.

Type:IDictionary
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Headers

Web isteğinin üst bilgilerini belirtir. Bir karma tablo veya sözlük girin.

Gibi içerikle ilgili üst bilgiler, Content-Type Gövde için bir MultipartFormDataContent nesne sağlandığında geçersiz kılınır.

PowerShell 7.4'den başlayarak, üst bilgiyi tanımlamak Content-Type ve ContentType parametresini kullanmak için bu parametreyi kullanırsanız, ContentType parametresinde belirtilen değer kullanılır.

Type:IDictionary
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HttpVersion

İstek için kullanılan HTTP sürümünü belirtir. Varsayılan değer: 1.1.

Geçerli değerler:

  • 1.0
  • 1.1
  • 2.0
  • 3.0
Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InFile

Web isteğinin içeriğini bir dosyadan alır.

Bir yol ve dosya adı girin. Yolu atlarsanız, varsayılan konum geçerli konumdur.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

FollowRelLink kullanılıyorsa ilişki bağlantılarının kaç kez izleyebileceğinizi belirtir. REST api çok fazla istek nedeniyle kısıtlanırsa daha küçük bir değer gerekebilir. Varsayılan değer şudur: [Int32]::MaxValue. 0 (sıfır) değeri, aşağıdaki ilişki bağlantılarını engeller.

Type:Int32
Aliases:ML
Position:Named
Default value:Int32.MaxValue
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumRedirection

Bağlantı başarısız olmadan önce PowerShell'in bir bağlantıyı kaç kez alternatif bir Tekdüzen Kaynak Tanımlayıcısı'na (URI) yönlendirecek olduğunu belirtir. Varsayılan değer 5'tir. 0 (sıfır) değeri tüm yeniden yönlendirmeyi engeller.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaximumRetryCount

400 ile 599 arasında (dahil veya 304) bir hata kodu alındığında PowerShell'in bağlantıyı kaç kez yeniden denemesi olduğunu belirtir. Ayrıca, yeniden denemeler arasındaki saniye sayısını belirtmek için RetryIntervalSec parametresine bakın.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Method

Web isteği için kullanılan yöntemi belirtir. Bu parametrenin kabul edilebilir değerleri şunlardır:

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

CustomMethod parametresi, yukarıda listelenmeyen İstek Yöntemleri için kullanılabilir.

Type:WebRequestMethod
Accepted values:Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NoProxy

Cmdlet'in hedefe ulaşmak için ara sunucu kullanmayacağını gösterir.

Internet Explorer'da yapılandırılan ara sunucuyu veya ortamda belirtilen bir ara sunucuyu atlamanız gerektiğinde, bu anahtarı kullanın.

Bu parametre PowerShell 6.0'da kullanıma sunulmuştur.

Type:SwitchParameter
Position:Named
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-OperationTimeoutSeconds

Bu zaman aşımı, bir akış içindeki veri okuma işlemleri için geçerlidir, bir bütün olarak akış süresi için geçerli değildir. Varsayılan değer olan 0, süresiz bir zaman aşımı belirtir.

Değeri 30 saniye olarak ayarlamak, akıştaki veriler arasındaki 30 saniyeden uzun gecikmelerin isteği sonlandırdığını gösterir. İndirmesi birkaç dakika süren büyük bir dosya, akış 30 saniyeden uzun süre durmadığı sürece sonlandırılamaz.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OutFile

Yanıt gövdesini belirtilen çıkış dosyasına kaydeder. Bir yol ve dosya adı girin. Yolu atlarsanız, varsayılan konum geçerli konumdur. Ad, değişmez değer yolu olarak değerlendirilir. Köşeli ayraç ([]) içeren adlar tek tırnak içine alınmalıdır (').

Varsayılan olarak sonuçları Invoke-RestMethod işlem hattına döndürür.

PowerShell 7.4'den başlayarak, dosya adı olmadan bir klasör yolu belirtebilirsiniz. Bunu yaptığınızda, dosyanın adı, herhangi bir yeniden yönlendirmeden sonra çözümlenen URI'nin son kesiminden alınan addır. OutFile için bir klasör yolu belirttiğinizde Resume parametresini kullanamazsınız.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Bu parametre yalnızca komutta OutFile parametresi de kullanıldığında geçerlidir. Amaç, sonuçların dosyaya ve işlem hattına yazılmıştır.

Not

PassThru parametresini kullandığınızda, çıkış işlem hattına yazılır ancak dosya oluşturulmaz. Daha fazla bilgi için bkz . PowerShell Sorunu #15409.

Type:SwitchParameter
Position:Named
Default value:No output
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PreserveAuthorizationOnRedirect

Cmdlet'in mevcut olduğunda yeniden yönlendirmeler arasında üst bilgiyi koruması Authorization gerektiğini gösterir.

Varsayılan olarak, cmdlet yeniden yönlendirmeden önce üst bilgiyi soyarak Authorization alır. Bu parametrenin belirtilmesi, üst bilginin yeniden yönlendirme konumuna gönderilmesi gereken durumlar için bu mantığı devre dışı bırakır.

Bu özellik PowerShell 6.0.0'a eklendi.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PreserveHttpMethodOnRedirect

Cmdlet'in yeniden yönlendirmeler arasında isteğin yöntemini koruması gerektiğini gösterir.

Varsayılan olarak, cmdlet yeniden yönlendirildiğinde yöntemini olarak GET değiştirir. Bu parametrenin belirtilmesi, hedeflenen yöntemin yeniden yönlendirme ile kullanılabildiğinden emin olmak için bu mantığı devre dışı bırakır.

Bu özellik PowerShell 7.4'e eklendi.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Proxy

doğrudan İnternet kaynağına bağlanmak yerine istek için bir ara sunucu kullanır. Bir ağ proxy sunucusunun Tekdüzen Kaynak Tanımlayıcısı'nı (URI) girin.

Bu özellik PowerShell 6.0.0'a eklendi.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProxyCredential

Proxy parametresi tarafından belirtilen ara sunucuyu kullanma iznine sahip bir kullanıcı hesabı belirtir. Varsayılan, mevcut kullanıcıdır.

User01 veya Domain01\User01 User@Domain.Comgibi bir kullanıcı adı yazın veya cmdlet'i tarafından Get-Credential oluşturulan bir nesne gibi bir PSCredential nesne girin.

Bu parametre yalnızca komutta Proxy parametresi de kullanıldığında geçerlidir. ProxyCredential ve ProxyUseDefaultCredentials parametrelerini aynı komutta kullanamazsınız.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProxyUseDefaultCredentials

Cmdlet'in, Proxy parametresi tarafından belirtilen ara sunucuya erişmek için geçerli kullanıcının kimlik bilgilerini kullandığını gösterir.

Bu parametre yalnızca komutta Proxy parametresi de kullanıldığında geçerlidir. ProxyCredential ve ProxyUseDefaultCredentials parametrelerini aynı komutta kullanamazsınız.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResponseHeadersVariable

Yanıt Üst Bilgileri Sözlüğü içeren bir değişken oluşturur. Dolar işareti ($) simgesi olmadan bir değişken adı girin. Sözlüğün anahtarları, web sunucusu tarafından döndürülen Yanıt Üst Bilgisinin alan adlarını ve değerlerini içerir.

Bu özellik PowerShell 6.0.0'a eklendi.

Type:String
Aliases:RHV
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Resume

Kısmi bir dosyayı indirmeye devam etmek için en iyi çabayı gösterir. Resume parametresi OutFile parametresini gerektirir.

Özgeçmiş yalnızca yerel dosya ve uzak dosyanın boyutu üzerinde çalışır ve yerel dosya ile uzak dosyanın aynı olduğu konusunda başka bir doğrulama gerçekleştirmez.

Yerel dosya boyutu uzak dosya boyutundan küçükse, cmdlet dosyayı indirmeye devam etmeye çalışır ve kalan baytları dosyanın sonuna ekler.

Yerel dosya boyutu uzak dosya boyutuyla aynıysa hiçbir işlem yapılmaz ve cmdlet indirme işleminin zaten tamamlandığını varsayar.

Yerel dosya boyutu uzak dosya boyutundan büyükse, yerel dosyanın üzerine yazılır ve uzak dosyanın tamamı tamamen yeniden indirilir. Bu davranış, Özgeçmiş olmadan OutFile kullanmakla aynıdır.

Uzak sunucu indirmeye devam etme işlemini desteklemiyorsa yerel dosyanın üzerine yazılır ve uzak dosyanın tamamı tamamen yeniden indirilir. Bu davranış, Özgeçmiş olmadan OutFile kullanmakla aynıdır.

Yerel dosya yoksa, yerel dosya oluşturulur ve uzak dosyanın tamamı tamamen indirilir. Bu davranış, Özgeçmiş olmadan OutFile kullanmakla aynıdır.

Bu özellik PowerShell 6.1.0'a eklendi.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RetryIntervalSec

400 ile 599 (dahil) veya 304 arasında bir hata kodu alındığında bağlantı için yeniden denemeler arasındaki aralığı belirtir. Değer ile [int]::MaxValuearasında 1 olmalıdır. Hata kodu 429 olduğunda ve yanıt üst bilgilerinde Retry-After özelliğini içeriyorsa, cmdlet bu parametre belirtiliyor olsa bile yeniden deneme aralığı için bu değeri kullanır.

Ayrıca, yeniden deneme sayısını belirtmek için MaximumRetryCount parametresine bakın.

Type:Int32
Position:Named
Default value:5
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SessionVariable

Web isteği oturumunu içeren bir değişken oluşturur. Dolar işareti ($) simgesi olmadan bir değişken adı girin.

Bir oturum değişkeni belirttiğinizde, Invoke-RestMethod bir web isteği oturum nesnesi oluşturur ve bunu PowerShell oturumunuzda belirtilen ada sahip bir değişkene atar. Komutu tamamlar tamamlamaz, değişkeni oturumunuzda kullanabilirsiniz.

PowerShell 7.4'e geçmeden önce web isteği oturumu kalıcı bir bağlantı değildir. Bağlantı ve istek hakkında tanımlama bilgileri, kimlik bilgileri, maksimum yeniden yönlendirme değeri ve kullanıcı aracısı dizesi gibi bilgileri içeren bir nesnedir. Web istekleri arasında durum ve veri paylaşmak için bunu kullanabilirsiniz.

PowerShell 7.4'te başlayarak, sonraki istekte oturumun özellikleri geçersiz kılınmadıkça web isteği oturumu kalıcı olur. Olduklarında, cmdlet oturumu yeni değerlerle yeniden oluşturur. Kalıcı oturumlar, yinelenen isteklerin yükünü azaltarak çok daha hızlı olmalarını sağlar.

Sonraki web isteklerinde web isteği oturumunu kullanmak için, Oturum değişkenini WebSession parametresinin değerinde belirtin. PowerShell, yeni bağlantı kurarken web isteği oturum nesnesindeki verileri kullanır. Web isteği oturumundaki bir değeri geçersiz kılmak için UserAgent veya Credential gibi bir cmdlet parametresi kullanın. Parametre değerleri web isteği oturumundaki değerlerden önceliklidir.

Aynı komutta SessionVariable ve WebSession parametrelerini kullanamazsınız.

Type:String
Aliases:SV
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipCertificateCheck

Süre sonu, iptal, güvenilen kök yetkili vb. gibi tüm doğrulamaları içeren sertifika doğrulama denetimlerini atlar.

Uyarı

Bu parametrenin kullanılması güvenli değildir ve önerilmez. Bu anahtar yalnızca test amacıyla otomatik olarak imzalanan bir sertifika kullanan bilinen konaklara karşı kullanılmak üzere tasarlanmıştır. Kendi riskinizle kullanın.

Bu özellik PowerShell 6.0.0'a eklendi.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipHeaderValidation

Cmdlet'in doğrulama olmadan isteğe üst bilgi eklemesi gerektiğini gösterir.

Bu anahtar, standartlara uygun olmayan üst bilgi değerleri gerektiren siteler için kullanılmalıdır. Bu anahtarın belirtilmesi, değerin işaretsiz geçirilmesine izin vermek için doğrulamayı devre dışı bırakır. Belirtildiğinde, tüm üst bilgiler doğrulama olmadan eklenir.

Bu, ContentType, Headers ve UserAgent parametrelerine geçirilen değerler için doğrulamayı devre dışı bırakır.

Bu özellik PowerShell 6.0.0'a eklendi.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipHttpErrorCheck

Bu parametre, cmdlet'in HTTP hata durumlarını yoksayıp yanıtları işlemeye devam etmesine neden olur. Hata yanıtları, işlem hattına başarılıymış gibi yazılır.

Bu parametre PowerShell 7'de kullanıma sunulmuştur.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SslProtocol

Web isteği için izin verilen SSL/TLS protokollerini ayarlar. Varsayılan olarak, sistem tarafından desteklenen SSL/TLS protokollerinin tümüne izin verilir. SslProtocol , uyumluluk amacıyla belirli protokollerle sınırlamaya olanak tanır.

Bu değerler, bayrak tabanlı bir numaralandırma olarak tanımlanır. Bu parametreyi kullanarak birden çok bayrak ayarlamak için birden çok değeri birlikte birleştirebilirsiniz. Değerler SslProtocol parametresine bir değer dizisi veya bu değerlerin virgülle ayrılmış dizesi olarak geçirilebilir. cmdlet'i bir ikili OR işlemi kullanarak değerleri birleştirir. Değerleri dizi olarak geçirmek en basit seçenektir ve değerler üzerinde sekme tamamlama özelliğini kullanmanıza da olanak tanır. Tüm platformlarda birden çok değer sağlayamayabilirsiniz.

Not

Windows dışı platformlarda sağlama Tls veya Tls12 bir seçenek olarak mümkün olmayabilir. desteği Tls13 tüm işletim sistemlerinde kullanılamaz ve işletim sistemi temelinde doğrulanması gerekir.

Bu özellik PowerShell 6.0.0'a, desteği Tls13 ise PowerShell 7.1'e eklendi.

Type:WebSslProtocol
Accepted values:Default, Tls, Tls11, Tls12, Tls13
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StatusCodeVariable

İsteğin HTTP durum kodu sonucunu içeren bir değişken oluşturur. Dolar işareti ($) simgesi olmadan bir değişken adı girin.

parametresi SkipHttpErrorCheck parametresiyle kullanıldığında başarı iletilerini veya hata iletilerini tanımlayabilir.

Parametresinin değişken adını gibi bir dize olarak -StatusCodeVariable "scv"girin.

Bu parametre PowerShell 7'de kullanıma sunulmuştur.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Token

İstekte dahil etmek için OAuth veya Taşıyıcı belirteci. Belirteç , belirli Kimlik Doğrulama seçenekleri için gereklidir. Bağımsız olarak kullanılamaz.

Belirteç , belirteci içeren bir SecureString alır. Belirteci sağlamak için aşağıdakileri el ile kullanın:

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

Bu parametre PowerShell 6.0'da kullanıma sunulmuştur.

Type:SecureString
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TransferEncoding

Aktarım kodlaması HTTP yanıt üst bilgisi için bir değer belirtir. Bu parametrenin kabul edilebilir değerleri şunlardır:

  • Yığın
  • Sıkıştır
  • Deflate
  • Gzip
  • Kimlik
Type:String
Accepted values:chunked, compress, deflate, gzip, identity
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UnixSocket

Bağlanacak Unix yuvasının adını belirtir. Bu parametre Unix tabanlı sistemlerde ve Windows sürüm 1803 ve sonraki sürümlerde desteklenir. Unix yuvalarının Windows desteği hakkında daha fazla bilgi için AF_UNIX ile Windows/WSL Birlikte Çalışma blog gönderisine bakın.

Bu parametre PowerShell 7.4'e eklendi.

Type:UnixDomainSocketEndPoint
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Uri

Web isteğinin gönderildiği internet kaynağının Tekdüzen Kaynak Tanımlayıcısını (URI) belirtir. Bu parametre HTTP, HTTPS, FTP ve FILE değerlerini destekler.

Bu parametre zorunludur. Parametre adı (Uri) isteğe bağlıdır.

Type:Uri
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-UseBasicParsing

Bu parametre kullanım dışı bırakıldı. PowerShell 6.0.0 sürümünden başlayarak, tüm Web istekleri yalnızca temel ayrıştırma kullanır. Bu parametre yalnızca geriye dönük uyumluluk için eklenmiştir ve cmdlet'in çalışmasını hiçbir şekilde kullanamaz.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseDefaultCredentials

Cmdlet'in geçerli kullanıcının kimlik bilgilerini kullanarak web isteğini gönderdiğini gösterir. Bu, Kimlik Doğrulaması veya Kimlik Bilgileri ile kullanılamaz ve tüm platformlarda desteklenmeyebilir.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserAgent

Web isteği için bir kullanıcı aracısı dizesi belirtir.

Varsayılan kullanıcı aracısı, her işletim sistemi ve platform için küçük varyasyonlarla benzerdir Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0 .

Bir web sitesini çoğu internet tarayıcısı tarafından kullanılan standart kullanıcı aracısı dizesiyle test etmek için Chrome, FireFox, InternetExplorer, Opera ve Safari gibi PSUserAgent sınıfının özelliklerini kullanın.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WebSession

Bir web isteği oturumu belirtir. Dolar işareti ($) dahil olmak üzere değişken adını girin.

Web isteği oturumundaki bir değeri geçersiz kılmak için UserAgent veya Credential gibi bir cmdlet parametresi kullanın. Parametre değerleri web isteği oturumundaki değerlerden önceliklidir. Body için MultipartFormDataContentnesnesi sağlandığında, gibi Content-Typeiçerikle ilgili üst bilgiler de geçersiz kılınır.

Uzak oturumdan farklı olarak, web isteği oturumu kalıcı bir bağlantı değildir. Bağlantı ve istek hakkında tanımlama bilgileri, kimlik bilgileri, maksimum yeniden yönlendirme değeri ve kullanıcı aracısı dizesi gibi bilgileri içeren bir nesnedir. Web istekleri arasında durum ve veri paylaşmak için bunu kullanabilirsiniz.

Web isteği oturumu oluşturmak için, bir komutun SessionVariable parametresinin değerine dolar işareti olmadan bir Invoke-RestMethod değişken adı girin. Invoke-RestMethod oturumu oluşturur ve değişkene kaydeder. Sonraki komutlarda, WebSession parametresinin değeri olarak değişkenini kullanın.

Aynı komutta SessionVariable ve WebSession parametrelerini kullanamazsınız.

Type:WebRequestSession
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Girişler

Object

Web isteğinin gövdesini bu cmdlet'e iletebilirsiniz.

Çıkışlar

Int64

İstek bir tamsayı döndürdüğünde, bu cmdlet bu tamsayıyı döndürür.

String

İstek bir dize döndürdüğünde, bu cmdlet bu dizeyi döndürür.

XmlDocument

İstek geçerli XML döndürdüğünde, bu cmdlet bunu XmlDocument olarak döndürür.

PSObject

İstek JSON dizeleri döndürdüğünde, bu cmdlet verileri temsil eden bir PSObject döndürür.

Notlar

PowerShell için aşağıdaki diğer adları Invoke-RestMethodiçerir:

  • Tüm platformlar:
    • irm

Bazı özellikler tüm platformlarda kullanılamayabilir.

.NET Core 3.1'deki değişiklikler nedeniyle PowerShell 7.0 ve üzeri, proxy yapılandırmasını belirlemek için HttpClient.DefaultProxy özelliğini kullanır.

Bu özelliğin değeri, platformunuza bağlı olarak farklı kurallardır:

  • Windows için: Ortam değişkenlerinden veya bunlar tanımlanmamışsa kullanıcının proxy ayarlarından ara sunucu yapılandırmasını okur.
  • macOS için: Ortam değişkenlerinden veya bunlar tanımlanmamışsa sistemin proxy ayarlarından ara sunucu yapılandırmasını okur.
  • Linux için: Ortam değişkenlerinden ara sunucu yapılandırmasını okur veya bunların tanımlanmaması durumunda, bu özellik tüm adresleri atlayan yapılandırılmamış bir örneği başlatır.

Windows ve Unix tabanlı platformlarda başlatma için DefaultProxy kullanılan ortam değişkenleri şunlardır:

  • HTTP_PROXY: HTTP isteklerinde kullanılan ara sunucunun ana bilgisayar adı veya IP adresi.
  • HTTPS_PROXY: HTTPS isteklerinde kullanılan ara sunucunun ana bilgisayar adı veya IP adresi.
  • ALL_PROXY: HTTP ve HTTPS isteklerinde kullanılan ara sunucunun ana bilgisayar adı veya IP adresi (tanımlanmamış veya HTTPS_PROXY tanımlanmamışsaHTTP_PROXY).
  • NO_PROXY: Ara sunucu oluşturmanın dışında tutulması gereken ana bilgisayar adlarının virgülle ayrılmış listesi.

PowerShell 7.4, Brotli sıkıştırma algoritması için destek ekledi.