programing

PowerShell 스크립트에서 REST API 호출

powerit 2023. 8. 1. 20:51
반응형

PowerShell 스크립트에서 REST API 호출

PowerShell 스크립트에서 Rest 기반 API를 호출하고 Json 응답을 처리하려면 어떻게 해야 합니까?

당신이 원하는 것은 PowerShell 3과 그것의Invoke-RestMethod,ConvertTo-Json,그리고.ConvertFrom-Jsoncmdlets.코드는 다음과 같이 표시됩니다.

 $stuff = Invoke-RestMethod -Uri $url -Method Get;

그리고 심지어 그들을 호출할 필요도 없습니다.ConvertFrom-Json결과적으로$stuff=> 이미 사용 가능한 비문자열 형식입니다.

자세한 내용은 http://technet.microsoft.com/en-us/Library/hh849971.aspx 을 참조하십시오.

HTTP 요청을 하기 위해 이 Get-Http 함수를 만들었습니다.

param([string]$url)

$req = [System.Net.WebRequest]::Create($url)
$req.Method ="GET"
$req.ContentLength = 0

$resp = $req.GetResponse()
$reader = new-object System.IO.StreamReader($resp.GetResponseStream())
$reader.ReadToEnd()

최종 결과를 xml로 처리하는 것은 매우 쉽지만, 만약 당신이 JSON을 처리하고 싶다면, 당신은 아마도 약간의 것이 필요할 것입니다.JSON 같은 넷 라이브러리.그물.

우리는 Powershell을 사용하여 Json 스타일 데이터만 다루는 REST API를 쿼리합니다.처음에는 어색했지만 대부분의 작업을 수행하기 위해 필요한 것은 아래 코드뿐입니다.

# Authentication
$webclient = New-Object System.Net.WebClient
$creds = New-Object System.Net.NetworkCredential("MyUsername","MyPassword");
$webclient.Credentials = $creds

# Data prep
$data = @{Name='Test';} | ConvertTo-Json

# GET
$webClient.DownloadString($url) | ConvertFrom-Json

# POST
$webClient.UploadString($url,'POST',$data)

# PUT
$webClient.UploadString($url,'PUT',$data)

언급URL : https://stackoverflow.com/questions/3574723/call-rest-api-from-powershell-script

반응형