استدعاء REST API من PowerShell Script




(2)

لقد قمت بإنشاء وظيفة Get-Http هذه لإجراء طلبات 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 ، فربما تحتاج إلى بعض .Net library مثل JSON.Net.

https://code.i-harness.com

كيف يمكنني استدعاء واجهة برمجة تطبيقات تستند إلى الراحة من برنامج PowerShell النصي ومعالجة إجابة Json؟


نستخدم Powershell للاستعلام عن واجهة برمجة تطبيقات REST التي تتعامل فقط مع بيانات نمط Json. كان الأمر غريبًا في البداية ، ولكن الشفرة أدناه هي كل ما نحتاج إليه لإجراء معظم العمليات:

# 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)




powershell