Invoke-RestMethod (Microsoft.PowerShell.Utility)
Invoke-RestMethod
- Модуль:
- Microsoft.PowerShell.Utility
Отправляет запрос HTTP или HTTPS веб-службе RESTful.
Синтаксис
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>]Описание
Командлет Invoke-RestMethod отправляет запросы HTTP и HTTPS веб-службам передачи репрезентативного состояния (REST), которые возвращают богато структурированные данные.
PowerShell форматирует ответ в зависимости от типа данных. Для канала RSS или ATOM PowerShell возвращает XML-узлы Item или Entry. Для нотации объектов JavaScript (JSON) или XML PowerShell преобразует или десериализует содержимое в объекты [PSCustomObject].
Примечание
Когда конечная точка REST возвращает несколько объектов, они принимаются как массив. Если вы передаете выходные данные из Invoke-RestMethod в другую команду, они отправляются как один объект [Object[]]. Содержимое этого массива не перечисляется для следующей команды в конвейере.
Этот командлет представлен в Windows PowerShell 3.0.
Начиная с PowerShell 7.0, Invoke-RestMethod поддерживает конфигурацию прокси, определяемую переменными среды. См. раздел «Примечания» этой статьи.
Начиная с PowerShell 7.4, кодировка символов для запросов по умолчанию используется UTF-8 вместо ASCII. Если вам нужна другая кодировка, вы должны установить атрибут charset в заголовке Content-Type.
Примеры
Пример 1. Получение RSS-канала PowerShell
В этом примере используется командлет Invoke-RestMethod для получения информации из RSS-канала блога PowerShell. Команда использует командлет Format-Table для отображения значений свойств Title и pubDate каждого блога в таблице.
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Пример 2. Запуск POST-запроса
В этом примере пользователь запускает Invoke-RestMethod, чтобы выполнить запрос POST на веб-сайте интрасети в организации пользователя.
$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Учетные данные запрашиваются, а затем сохраняются в $Cred, а URL-адрес, к которому будет осуществляться доступ, определяется в $Url.
Переменная $Body описывает критерии поиска, указывает CSV в качестве режима вывода и указывает период времени для возвращаемых данных, который начинается два дня назад и заканчивается один день назад. Переменная тела определяет значения параметров, которые применяются к конкретному REST API, с которым взаимодействует Invoke-RestMethod.
Команда Invoke-RestMethod запускается со всеми переменными, определяя путь и имя файла для результирующего выходного файла CSV.
Пример 3. Переход по ссылкам связи
Некоторые API REST поддерживают разбиение на страницы через ссылки отношений согласно RFC5988. Вместо того, чтобы анализировать заголовок, чтобы получить URL-адрес следующей страницы, вы можете поручить это командлету. В этом примере возвращаются первые две страницы проблем из репозитория PowerShell GitHub.
$url = 'https://api.github.com/repos/powershell/powershell/issues'
Invoke-RestMethod $url -FollowRelLink -MaximumFollowRelLink 2Пример 4. Упрощенная отправка составных данных/данных формы
Некоторые API требуют отправки multipart/form-data для загрузки файлов и смешанного контента. В этом примере показано, как обновить профиль пользователя.
$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В форме профиля требуются следующие поля: firstName, lastName, email, аватар, день рождения и хобби. API ожидает, что изображение профиля пользователя будет предоставлено в поле avatar. API также принимает несколько записей хобби, отправленных в одной и той же форме.
При создании $Form HashTable имена ключей используются в качестве имен полей формы. По умолчанию значения HashTable будут преобразованы в строки. Если присутствует значение System.IO.FileInfo, содержимое файла будет отправлено. Если присутствует коллекция, такая как массивы или списки, поле формы будет отправлено несколько раз.
При использовании Get-Item для клавиши avatar объект FileInfo будет установлен в качестве значения. В результате будут отправлены данные изображения для jdoe.png.
Если указать список для клавиши хобби, поле хобби будет присутствовать в отправленных материалах один раз для каждого элемента списка.
Пример 5: передача нескольких заголовков
API часто требуют переданных заголовков для аутентификации или проверки. В этом примере показано, как передать несколько заголовков из хеш-таблицы в REST API.
$headers = @{
'userId' = 'UserIDValue'
'token' = 'TokenValue'
}
Invoke-RestMethod -Uri $uri -Method Post -Headers $headers -Body $bodyПример 6. Перечисление возвращаемых элементов в конвейере
GitHub возвращает несколько объектов в массиве. Если вы передаете вывод в другую команду, он отправляется как один объект [Object[]].
Чтобы перечислить объекты в конвейере, передайте результаты в Write-Output или заключите командлет в круглые скобки. В следующем примере подсчитывается количество объектов, возвращенных GitHub. Затем подсчитывает количество объектов, перечисленных в конвейер.
$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Пример 7: Пропуск проверки заголовка
По умолчанию командлет Invoke-RestMethod проверяет значения общеизвестных заголовков, имеющих формат значений, определенный стандартами. В следующем примере показано, как эта проверка может вызвать ошибку и как можно использовать параметр SkipHeaderValidation, чтобы избежать проверки значений для конечных точек, которые допускают недопустимо отформатированные значения.
$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 — это служба, которая возвращает информацию о веб-запросах и ответах для устранения неполадок. Переменная $Uri присваивается конечной точке /headers службы, которая возвращает заголовки запроса в качестве содержимого ответа.
Заголовок запроса If-Match определен в разделе 3.1 RFC-7232 и требует, чтобы значение этого заголовка было определено в кавычках. Переменной $InvalidHeaders присваивается хеш-таблица, в которой значение If-Match недопустимо, поскольку оно определено как 12345 вместо " 12345".
Вызов Invoke-RestMethod с недопустимыми заголовками возвращает ошибку, сообщающую, что отформатированное значение недопустимо. Запрос не отправляется в конечную точку.
Вызов Invoke-RestMethod с параметром SkipHeaderValidation игнорирует ошибку проверки и отправляет запрос в конечную точку. Поскольку конечная точка допускает несоответствующие значения заголовка, командлет возвращает объект ответа без ошибок.
Пример 8. Отправка запроса с использованием HTTP 2.0.
В этом примере запрашивается проблема GitHub с использованием протокола HTTP 2.0.
$uri = 'https://api.github.com/repos/microsoftdocs/powershell-docs/issues'
Invoke-RestMethod -Uri $uri -HttpVersion 2.0 -SkipCertificateCheckПример 9. Отправка запроса в приложение сокета Unix.
Некоторые приложения, такие как Docker, предоставляют для связи сокет Unix. В этом примере запрашивается список образов Docker с использованием Docker API. Командлет подключается к демону Docker с помощью сокета Unix.
Invoke-RestMethod -Uri "http://localhost/v1.40/images/json/" -UnixSocket "/var/run/docker.sock"Параметры
-AllowInsecureRedirect
Разрешает перенаправление с HTTPS на HTTP. По умолчанию любой запрос, перенаправленный с HTTPS на HTTP, приводит к ошибке, и запрос прерывается, чтобы предотвратить непреднамеренную передачу открытого текста по незашифрованным соединениям. Чтобы изменить это поведение на свой страх и риск, используйте параметр AllowInsecureRedirect.
Этот параметр был добавлен в PowerShell 7.4.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-AllowUnencryptedAuthentication
Позволяет отправлять учетные данные и секреты по незашифрованным соединениям. По умолчанию предоставление Credential или любого параметра Аутентификации с Uri, который не начинается с https://, будет приведет к ошибке, и запрос будет прерван, чтобы предотвратить непреднамеренную передачу секретных данных в виде обычного текста по незашифрованным соединениям. Чтобы изменить это поведение на свой страх и риск, укажите параметр AllowUnencryptedAuthentication.
Предупреждение
Использование этого параметра небезопасно и не рекомендуется. Он предоставляется только для совместимости с устаревшими системами, которые не могут обеспечивать зашифрованные соединения. Используйте на свой страх и риск.
Эта функция была добавлена в PowerShell 6.0.0.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Authentication
Указывает тип явной аутентификации, используемый для запроса. По умолчанию установлено значение Нет. Параметр Authentication нельзя использовать с параметром UseDefaultCredentials.
Доступные варианты аутентификации:
Нет: это вариант по умолчанию, если Аутентификация не указана. Явная аутентификация не будет использоваться.Базовый: требуются Учетные данные. Учетные данные будут использоваться для отправки заголовка базовой аутентификации RFC 7617Authorization: Basicв форматеbase64(user:password).Носитель: требуется параметр Token. Отправляет заголовок RFC 6750Authorization: Bearerс предоставленным токеном.OAuth: требуется параметр Token. Отправляет заголовок RFC 6750Authorization: Bearerс предоставленным токеном.
Предоставление Аутентификации переопределяет любые заголовки Authorization, предоставленные в Headers или включенные в WebSession.
Эта функция была добавлена в PowerShell 6.0.0.
- Тип :
Тип веб-аутентификации
- Принятые значения:
Нет, базовый, на предъявителя, OAuth
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Body
Указывает тело запроса. Тело — это содержимое запроса, следующее за заголовками. Вы также можете передать значение тела в Invoke-RestMethod.
Параметр Body можно использовать для указания списка параметров запроса или содержания ответа. В качестве параметров запроса командлет использует метод метода System.Net.WebUtility.UrlEncode для кодирования пар ключ-значение. Дополнительные сведения о кодировании строк для URL-адресов см. в справочнике по методу UrlEncode().
Если входные данные представляют собой запрос POST, а тело представляет собой String, значение слева от первого знака равенства (=) устанавливается в качестве ключа в данных формы. а оставшийся текст устанавливается как значение. Чтобы указать несколько ключей, используйте объект IDictionary, например хэш-таблицу, для Body.
Если входными данными является запрос GET, а телом является IDictionary (обычно хеш-таблица), тело добавляется к URI в качестве параметров запроса. Для других типов запросов (таких как PATCH) тело задается как значение тела запроса в стандартном формате name=value со значениями, закодированными в URL.
Если входными данными является объект System.Xml.XmlNode и в объявлении XML указана кодировка, эта кодировка используется для данных в запросе, если она не переопределена параметром ContentType.
Если тело является формой или результатом другого вызова Invoke-WebRequest, PowerShell устанавливает содержимое запроса в поля формы.
Параметр Body также может принимать объект System.Net.Http.MultipartFormDataContent. Это облегчит запросы multipart/form-data. Если для Body указан объект MultipartFormDataContent, любые заголовки, связанные с содержимым, передаются в ContentType, Headers или < Параметрыstrong>WebSession будут переопределены заголовками содержимого объекта MultipartFormDataContent. Эта функция была добавлена в PowerShell 6.0.0.
- Тип :
Объект
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
True
- Принимайте подстановочные знаки:
False
-Certificate
Указывает сертификат клиента, который используется для безопасного веб-запроса. Введите переменную, содержащую сертификат, либо команду или выражение, позволяющее получить сертификат.
Чтобы найти сертификат, используйте Get-PfxCertificate или используйте командлет Get-ChildItem на диске сертификатов (Cert:). Если сертификат недействителен или не имеет достаточных полномочий, команда завершится неудачно.
- Тип :
X509Сертификат
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-CertificateThumbprint
Указывает сертификат цифрового открытого ключа (X509) учетной записи пользователя, у которой есть разрешение на отправку запроса. Введите отпечаток сертификата.
Сертификаты используются при проверке подлинности на основе сертификатов клиентов. Сертификаты можно сопоставить только с локальными учетными записями пользователей, а не с учетными записями домена.
Чтобы просмотреть отпечаток сертификата, используйте команду Get-Item или Get-ChildItem, чтобы найти сертификат в Cert:\CurrentUser\My.
Примечание
В настоящее время эта функция поддерживается только на платформах ОС Windows.
- Тип :
String
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-ConnectionTimeoutSeconds
Указывает, как долго запрос может находиться в ожидании, прежде чем истечет время ожидания. Введите значение в секундах. Значение по умолчанию, 0, задает неопределенный тайм-аут.
Ответ на запрос системы доменных имен (DNS) может занять до 15 секунд или время ожидания. Если ваш запрос содержит имя хоста, требующее разрешения, и вы установили для ConnectionTimeoutSeconds значение больше нуля, но меньше 15 секунд, до появления WebException выдается, и время ожидания вашего запроса истекает.
Этот параметр заменил параметр TimeoutSec в PowerShell 7.4. Вы можете использовать TimeoutSec в качестве псевдонима для ConnectionTimeoutSeconds.
- Тип :
Int32
- Псевдонимы:
TimeoutSec
- Позиция:
Именованный
- Значение по умолчанию:
0
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-ContentType
Указывает тип контента веб-запроса.
Если значение ContentType содержит формат кодировки (как charset), командлет использует этот формат для кодирования тела веб-запроса. Если ContentType не указывает формат кодировки, вместо него используется формат кодировки по умолчанию. Примером ContentType с форматом кодировки является text/plain; charset=iso-8859-5, который определяет латиницу/кириллицу.
Если этот параметр опущен и метод запроса — POST, Invoke-RestMethod устанавливает тип контента application/x-www-form-urlencoded. В противном случае тип контента не указывается в вызове.
ContentType будет переопределен, если для Body указан объект MultipartFormDataContent.
Начиная с PowerShell 7.4, если вы используете этот параметр и параметр Headers для определения заголовка Content-Type, значение, указанное в ContentType > используется параметр.
- Тип :
String
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Credential
Указывает учетную запись пользователя, имеющую разрешение на отправку запроса. По умолчанию используется текущий пользователь.
Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential, созданный с помощью Get-Credential командлет.
Учетные данные можно использовать отдельно или в сочетании с определенными параметрами Аутентификации. При использовании отдельно он будет предоставлять учетные данные удаленному серверу только в том случае, если удаленный сервер отправит запрос на проверку подлинности. При использовании с параметрами Аутентификация учетные данные будут отправлены явно.
Учетные данные хранятся в объекте PSCredential, а пароль хранится в виде SecureString.
Примечание
Дополнительную информацию о защите данных SecureString см. в разделе Насколько безопасен SecureString?
- Тип :
PSCredential
- Позиция:
Именованный
- Значение по умолчанию:
Текущий пользователь
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-CustomMethod
Указывает пользовательский метод, используемый для веб-запроса. Это можно использовать с методом запроса, требуемым конечной точкой, который недоступен для Метода. Метод и CustomMethod нельзя использовать вместе.
Пример :
Invoke-RestMethod -uri 'https://api.contoso.com/widget/' -CustomMethod 'TEST'При этом к API отправляется HTTP-запрос TEST.
Эта функция была добавлена в PowerShell 6.0.0.
- Тип :
String
- Псевдонимы:
CM
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-DisableKeepAlive
Указывает, что командлет устанавливает для значения KeepAlive в заголовке HTTP значение False. По умолчанию KeepAlive имеет значение True. KeepAlive устанавливает постоянное соединение с сервером для облегчения последующих запросов.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-FollowRelLink
Указывает, что командлет должен следовать ссылкам отношения.
Некоторые API REST поддерживают разбиение на страницы через ссылки отношений согласно RFC5988. Вместо того, чтобы анализировать заголовок, чтобы получить URL-адрес следующей страницы, вы можете поручить это командлету. Чтобы указать, сколько раз переходить по ссылкам связи, используйте параметр MaximumFollowRelLink.
При использовании этого переключателя командлет возвращает коллекцию страниц результатов. Каждая страница результатов может содержать несколько элементов результатов.
Эта функция была добавлена в PowerShell 6.0.0.
- Тип :
SwitchParameter
- Псевдонимы:
FL
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Form
Преобразует словарь в отправку multipart/form-data. Форма нельзя использовать с Тело. Если ContentType будет игнорироваться.
Ключи словаря будут использоваться в качестве имен полей формы. По умолчанию значения формы преобразуются в строковые значения.
Если значением является объект System.IO.FileInfo, будет отправлено содержимое двоичного файла. Имя файла будет представлено как имя файла. MIME будет установлен как application/octet-stream. Get-Item можно использовать для упрощения предоставления объекта System.IO.FileInfo.
$Form=@{ резюме=Get-Item 'c:\Users\jdoe\Documents\John Doe.pdf' }
Если значение представляет собой тип коллекции, например массив или список, поле for будет отправлено несколько раз. По умолчанию значения списка будут рассматриваться как строки. Если значением является объект System.IO.FileInfo, будет отправлено содержимое двоичного файла. Вложенные коллекции не поддерживаются.
$Form=@{ tags='Vacation', 'Italy', '2017' images=Get-ChildItem 'c:\Users\jdoe\Pictures\2017-Italy' }
В приведенном выше примере поле tags будет предоставлено в форме три раза, по одному для каждого из Отпуск, Италия и . 2017. Поле pictures также будет отправлено один раз для каждого файла в папке 2017-Italy. Двоичное содержимое файлов в этой папке будет представлено как значения.
Эта функция была добавлена в PowerShell 6.1.0.
- Тип :
IСловарь
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Headers
Указывает заголовки веб-запроса. Введите хеш-таблицу или словарь.
Заголовки, связанные с контентом, такие как Content-Type, переопределяются, когда для Body предоставляется объект MultipartFormDataContent.
Начиная с PowerShell 7.4, если вы используете этот параметр для определения заголовка Content-Type и используете параметр ContentType, значение, указанное в параметре ContentType используется.
- Тип :
IСловарь
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-HttpVersion
Указывает версию HTTP, используемую для запроса. По умолчанию используется 1.1.
Допустимые значения:
- 1.0
- 1.1
- 2.0
- 3.0
- Тип :
Версия
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-InFile
Получает содержимое веб-запроса из файла.
Введите путь и имя файла. Если вы опустите путь, по умолчанию используется текущее местоположение.
- Тип :
String
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-MaximumFollowRelLink
Указывает, сколько раз переходить по ссылкам связи, если используется FollowRelLink. Меньшее значение может потребоваться, если REST API регулируется из-за слишком большого количества запросов. Значение по умолчанию — [Int32]::MaxValue. Значение 0 (ноль) предотвращает переход по ссылкам отношения.
- Тип :
Int32
- Псевдонимы:
ML
- Позиция:
Именованный
- Значение по умолчанию:
Int32.MaxValue
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-MaximumRedirection
Указывает, сколько раз PowerShell перенаправляет соединение на альтернативный универсальный идентификатор ресурса (URI), прежде чем соединение завершится сбоем. Значение по умолчанию — 5. Значение 0 (ноль) предотвращает любое перенаправление.
- Тип :
Int32
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-MaximumRetryCount
Указывает, сколько раз PowerShell повторяет попытку подключения при получении кода ошибки от 400 до 599 включительно или 304. Также см. параметр RetryIntervalSec для указания количества секунд между повторными попытками.
- Тип :
Int32
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Method
Указывает метод, используемый для веб-запроса. Допустимые значения этого параметра:
DefaultDeleteGetHeadMergeOptionsPatchPostPutTraceПараметр CustomMethod можно использовать для методов запроса, не перечисленных выше.
- Тип :
Вебреквестметод
- Принятые значения:
По умолчанию, Получить, Заголовок, Опубликовать, Поместить, Удалить, Отследить, Параметры, Объединить, Исправить
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-NoProxy
Указывает, что командлет не будет использовать прокси-сервер для достижения места назначения.
Если вам нужно обойти прокси-сервер, настроенный в Internet Explorer, или прокси-сервер, указанный в среде, используйте этот переключатель.
Этот параметр был введен в PowerShell 6.0.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
True
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-OperationTimeoutSeconds
Этот тайм-аут применяется к чтению данных в потоке, а не ко времени потока в целом. Значение по умолчанию, 0, задает неопределенный тайм-аут.
Установка значения 30 секунд означает, что любая задержка между данными в потоке более 30 секунд прекращает запрос. Большой файл, загрузка которого занимает несколько минут, не завершится, если поток не остановится более чем на 30 секунд.
- Тип :
Int32
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-OutFile
По умолчанию Invoke-RestMethod возвращает результаты в конвейер. При использовании параметра OutFile результаты сохраняются в указанный файл и не возвращаются в конвейер. Введите путь и имя файла. Чтобы отправить результаты в файл и в конвейер, добавьте параметр Passthru.
Если вы опустите путь, по умолчанию используется текущее местоположение. Имя рассматривается как буквальный путь. Имена, содержащие скобки ([]), должны быть заключены в одинарные кавычки (').
Начиная с PowerShell 7.4, вы можете указать путь к папке без имени файла. В этом случае команда использует имя файла из последнего сегмента разрешенного URI после любых перенаправлений. Если вы указываете путь к папке для OutFile, вы не можете использовать параметр Resume.
- Тип :
String
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-PassThru
Этот параметр действителен только в том случае, если в команде также используется параметр OutFile. Цель состоит в том, чтобы результаты были записаны в файл и в конвейер.
Примечание
При использовании параметра PassThru выходные данные записываются в конвейер, но файл не создается. Это исправлено в PowerShell 7.5-preview.4. Дополнительные сведения см. в статье PowerShell Issue #15409.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
Нет вывода
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-PreserveAuthorizationOnRedirect
Указывает, что командлет должен сохранять заголовок Authorization, если он присутствует, при перенаправлениях.
По умолчанию перед перенаправлением командлет удаляет заголовок Authorization. Указание этого параметра отключает эту логику в тех случаях, когда заголовок необходимо отправить в место перенаправления.
Эта функция была добавлена в PowerShell 6.0.0.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-PreserveHttpMethodOnRedirect
Указывает, что командлет должен сохранять метод запроса при перенаправлениях.
По умолчанию командлет меняет метод на GET при перенаправлении. Указание этого параметра отключает эту логику, чтобы гарантировать возможность использования предполагаемого метода с перенаправлением.
Эта функция была добавлена в PowerShell 7.4.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Proxy
Использует для запроса прокси-сервер, а не подключается напрямую к интернет-ресурсу. Введите универсальный идентификатор ресурса (URI) сетевого прокси-сервера.
Эта функция была добавлена в PowerShell 6.0.0.
- Тип :
Ури
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-ProxyCredential
Указывает учетную запись пользователя, имеющую разрешение на использование прокси-сервера, указанного параметром Proxy. По умолчанию используется текущий пользователь.
Введите имя пользователя, например User01 или Domain01\User01, User@Domain.Com, или введите PSCredential объект, например, созданный командлетом Get-Credential.
Этот параметр действителен только в том случае, если в команде также используется параметр Proxy. Вы не можете использовать параметры ProxyCredential и ProxyUseDefaultCredentials в одной команде.
- Тип :
PSCredential
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-ProxyUseDefaultCredentials
Указывает, что командлет использует учетные данные текущего пользователя для доступа к прокси-серверу, указанному параметром Proxy.
Этот параметр действителен только в том случае, если в команде также используется параметр Proxy. Вы не можете использовать параметры ProxyCredential и ProxyUseDefaultCredentials в одной команде.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-ResponseHeadersVariable
Создает переменную, содержащую словарь заголовков ответов. Введите имя переменной без символа доллара ($). Ключи словаря содержат имена полей и значения заголовка ответа, возвращаемого веб-сервером.
Эта функция была добавлена в PowerShell 6.0.0.
- Тип :
String
- Псевдонимы:
RHV
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Resume
Делает все возможное, чтобы возобновить загрузку части файла. Для параметра Resume требуется параметр OutFile.
Resume работает только с размером локального и удаленного файла и не выполняет никакой другой проверки того, что локальный файл и удаленный файл совпадают.
Если размер локального файла меньше размера удаленного файла, командлет попытается возобновить загрузку файла и добавит оставшиеся байты в конец файла.
Если размер локального файла совпадает с размером удаленного файла, никаких действий не предпринимается, и командлет предполагает, что загрузка уже завершена.
Если размер локального файла больше размера удаленного файла, локальный файл будет перезаписан, а весь удаленный файл будет полностью загружен заново. Это поведение аналогично использованию OutFile без Resume.
Если удаленный сервер не поддерживает возобновление загрузки, то локальный файл будет перезаписан и весь удаленный файл будет полностью повторно загружен. Это поведение аналогично использованию OutFile без Resume.
Если локальный файл не существует, то локальный файл будет создан, а весь удаленный файл будет полностью загружен. Это поведение аналогично использованию OutFile без Resume.
Эта функция была добавлена в PowerShell 6.1.0.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-RetryIntervalSec
Указывает интервал между повторными попытками подключения при получении кода ошибки от 400 до 599 включительно или 304. Значение должно находиться в диапазоне от 1 до [int]::MaxValue. Если код ошибки — 429 и ответ включает в свои заголовки свойство Retry-After, командлет использует это значение в качестве интервала повторных попыток, даже если этот параметр указан.
Также см. параметр MaximumRetryCount для указания количества повторов.
- Тип :
Int32
- Позиция:
Именованный
- Значение по умолчанию:
5
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-SessionVariable
Создает переменную, содержащую сеанс веб-запроса. Введите имя переменной без символа доллара ($).
Когда вы указываете переменную сеанса, Invoke-RestMethod создает объект сеанса веб-запроса и назначает его переменной с указанным именем в сеансе PowerShell. Вы можете использовать переменную в своем сеансе сразу после завершения команды.
До версии PowerShell 7.4 сеанс веб-запроса не был постоянным соединением. Это объект, который содержит информацию о соединении и запросе, включая файлы cookie, учетные данные, максимальное значение перенаправления и строку пользовательского агента. Вы можете использовать его для обмена состоянием и данными между веб-запросами.
Начиная с PowerShell 7.4, сеанс веб-запроса является постоянным до тех пор, пока свойства сеанса не переопределяются в последующем запросе. В этом случае командлет воссоздает сеанс с новыми значениями. Постоянные сеансы уменьшают накладные расходы на повторные запросы, делая их намного быстрее.
Чтобы использовать сеанс веб-запроса в последующих веб-запросах, укажите переменную сеанса в значении параметра WebSession. PowerShell использует данные объекта сеанса веб-запроса при установке нового соединения. Чтобы переопределить значение в сеансе веб-запроса, используйте параметр командлета, например UserAgent или Credential. Значения параметров имеют приоритет над значениями в сеансе веб-запроса.
Вы не можете использовать параметры SessionVariable и WebSession в одной команде.
- Тип :
String
- Псевдонимы:
SV
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-SkipCertificateCheck
Пропускает проверки сертификатов, которые включают в себя все проверки, такие как срок действия, отзыв, доверенный корневой центр и т. д.
Предупреждение
Использование этого параметра небезопасно и не рекомендуется. Этот переключатель предназначен для использования только с известными хостами, использующими самозаверяющий сертификат в целях тестирования. Используйте на свой страх и риск.
Эта функция была добавлена в PowerShell 6.0.0.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-SkipHeaderValidation
Указывает, что командлет должен добавлять заголовки к запросу без проверки.
Этот переключатель следует использовать для сайтов, которым требуются значения заголовков, не соответствующие стандартам. Указание этого переключателя отключает проверку, позволяя передавать значение без проверки. Если указано, все заголовки добавляются без проверки.
Это отключит проверку значений, передаваемых в параметры ContentType, Headers и UserAgent.
Эта функция была добавлена в PowerShell 6.0.0.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-SkipHttpErrorCheck
Этот параметр заставляет командлет игнорировать состояния ошибок HTTP и продолжать обработку ответов. Ответы об ошибках записываются в конвейер так же, как если бы они были успешными.
Этот параметр был введен в PowerShell 7.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-SslProtocol
Устанавливает протоколы SSL/TLS, разрешенные для веб-запроса. По умолчанию разрешены все протоколы SSL/TLS, поддерживаемые системой. SslProtocol позволяет ограничить использование определенных протоколов в целях обеспечения соответствия.
Эти значения определяются как перечисление на основе флагов. С помощью этого параметра вы можете объединить несколько значений, чтобы установить несколько флагов. Значения можно передавать в параметр SslProtocol как массив значений или как строку этих значений, разделенную запятыми. Командлет объединит значения с помощью операции двоичного ИЛИ. Передача значений в виде массива — самый простой вариант, который также позволяет использовать для значений табуляцию. Возможно, вы не сможете указать несколько значений на всех платформах.
Примечание
На платформах, отличных от Windows, может быть невозможно указать Tls или Tls12 в качестве опции. Поддержка Tls13 доступна не во всех операционных системах, и ее необходимо проверять для каждой операционной системы.
Эта функция была добавлена в PowerShell 6.0.0, а поддержка Tls13 — в PowerShell 7.1.
- Тип :
ВебSslПротокол
- Принятые значения:
По умолчанию, Tls, Tls11, Tls12, Tls13
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-StatusCodeVariable
Создает переменную, содержащую результат кода состояния HTTP запроса. Введите имя переменной без символа доллара ($).
Параметр может идентифицировать сообщения об успешном выполнении или сообщения об ошибке при использовании с параметром SkipHttpErrorCheck.
Введите имя переменной параметра в виде строки, например -StatusCodeVariable "scv".
Этот параметр был введен в PowerShell 7.
- Тип :
String
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Token
Токен OAuth или токена носителя, который необходимо включить в запрос. Токен требуется для определенных параметров Аутентификации. Его нельзя использовать независимо.
Token принимает SecureString, содержащий токен. Чтобы предоставить токен, вручную используйте следующее:
Invoke-RestMethod -Uri $uri -Authentication OAuth -Token (Read-Host -AsSecureString)Этот параметр был введен в PowerShell 6.0.
- Тип :
SecureString
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-TransferEncoding
Указывает значение для заголовка ответа HTTP с кодировкой передачи. Допустимые значения этого параметра:
- куски
- Компресс
- Сдуть
- GZip
- Личность
- Тип :
String
- Принятые значения:
фрагментированный, сжать, сдуть, gzip, идентичность
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-UnixSocket
Указывает имя сокета Unix для подключения. Этот параметр поддерживается в системах на базе Unix и Windows версии 1803 и более поздних версий. Дополнительные сведения о поддержке сокетов Unix в Windows см. в записи блога Windows/WSL Interop с AF_UNIX.
Этот параметр был добавлен в PowerShell 7.4.
- Тип :
UnixDomainSocketEndPoint
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-Uri
Указывает универсальный идентификатор ресурса (URI) интернет-ресурса, на который отправляется веб-запрос. Этот параметр поддерживает значения HTTP, HTTPS, FTP и FILE.
Этот параметр является обязательным. Имя параметра (Uri) не является обязательным.
- Тип :
Ури
- Позиция:
0
- Значение по умолчанию:
None
- Необходимый:
True
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-UseBasicParsing
Этот параметр устарел. Начиная с PowerShell 6.0.0, все веб-запросы используют только базовый анализ. Этот параметр включен только для обратной совместимости, и любое его использование не повлияет на работу командлета.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-UseDefaultCredentials
Указывает, что командлет использует учетные данные текущего пользователя для отправки веб-запроса. Это нельзя использовать с Аутентификацией или Учетными данными и может поддерживаться не на всех платформах.
- Тип :
SwitchParameter
- Позиция:
Именованный
- Значение по умолчанию:
False
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-UserAgent
Указывает строку пользовательского агента для веб-запроса.
Пользовательский агент по умолчанию аналогичен Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0 с небольшими вариациями для каждой операционной системы и платформы.
Чтобы протестировать веб-сайт со стандартной строкой пользовательского агента, которая используется большинством интернет-браузеров, используйте свойства класса PSUserAgent, например Chrome, FireFox, InternetExplorer, Opera и Safari.
- Тип :
String
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
-WebSession
Указывает сеанс веб-запроса. Введите имя переменной, включая знак доллара ($).
Чтобы переопределить значение в сеансе веб-запроса, используйте параметр командлета, например UserAgent или Credential. Значения параметров имеют приоритет над значениями в сеансе веб-запроса. Заголовки, связанные с контентом, такие как Content-Type, также будут переопределены, если для Body указан объект MultipartFormDataContent.
В отличие от удаленного сеанса, сеанс веб-запроса не является постоянным соединением. Это объект, который содержит информацию о соединении и запросе, включая файлы cookie, учетные данные, максимальное значение перенаправления и строку пользовательского агента. Вы можете использовать его для обмена состоянием и данными между веб-запросами.
Чтобы создать сеанс веб-запроса, введите имя переменной без знака доллара в значение параметра SessionVariable команды Invoke-RestMethod. Invoke-RestMethod создает сеанс и сохраняет его в переменной. В последующих командах используйте эту переменную в качестве значения параметра WebSession.
Вы не можете использовать параметры SessionVariable и WebSession в одной команде.
- Тип :
Сеанс веб-запроса
- Позиция:
Именованный
- Значение по умолчанию:
None
- Необходимый:
False
- Примите ввод конвейера:
False
- Принимайте подстановочные знаки:
False
Входы
Объект
В этот командлет можно передать тело веб-запроса.
Выходы
Int64
Когда запрос возвращает целое число, этот командлет возвращает это целое число.
Строка
Когда запрос возвращает строку, этот командлет возвращает эту строку.
XmlDocument
Когда запрос возвращает действительный XML, этот командлет возвращает его как XmlDocument.
PSObject
Когда запрос возвращает строки JSON, этот командлет возвращает PSObject, представляющий данные.
Примечания
PowerShell включает следующие псевдонимы для Invoke-RestMethod:
Все платформы:
irm
Некоторые функции могут быть доступны не на всех платформах.
Из-за изменений в .NET Core 3.1 PowerShell 7.0 и более поздних версий использует свойство HttpClient.DefaultProxy для определения конфигурации прокси-сервера.
Значение этого свойства зависит от вашей платформы:
- Для Windows: считывает конфигурацию прокси-сервера из переменных среды или, если они не определены, из настроек прокси-сервера пользователя.
- Для macOS: считывает конфигурацию прокси-сервера из переменных среды или, если они не определены, из настроек прокси-сервера системы.
- Для Linux: считывает конфигурацию прокси-сервера из переменных среды или, если они не определены, это свойство инициализирует ненастроенный экземпляр, который обходит все адреса.
Переменные среды, используемые для инициализации DefaultProxy на платформах Windows и Unix:
HTTP_PROXY: имя хоста или IP-адрес прокси-сервера, используемого в HTTP-запросах.HTTPS_PROXY: имя хоста или IP-адрес прокси-сервера, используемого в запросах HTTPS.ALL_PROXY: имя хоста или IP-адрес прокси-сервера, используемого в запросах HTTP и HTTPS, еслиHTTP_PROXYилиHTTPS_PROXYне определены.NO_PROXY: список имен хостов, разделенных запятыми, которые следует исключить из проксирования.
В PowerShell 7.4 добавлена поддержка алгоритма сжатия Brotli.