0
我有一個現有的REST API接受x-www-form-urlencoded。 API需要參數apikey,並在Postman中成功測試,如下所示。Invoke-WebRequest/Invoke-RestMethod失敗,出現底層連接關閉錯誤
不過,我需要使用調用這個API Powershell.Below是我的代碼:
$params = @{"apikey"="abcd1234"}
Invoke-WebRequest -Uri http://localhost:3030/api/v1/usergroupsync -Method POST -Body $params
#also tried below, no avail.
Invoke-RestMethod -Uri http://localhost:3030/api/v1/usergroupsync -Method POST -Body $params
但是我遇到了這個錯誤:
Invoke-WebRequest : The underlying connection was closed: An unexpected error occured on a receive At line:14 char:1
+ Invoke-WebRequest -Uri http://localhost:3030/api/v1/usergroupsync -Method POST -...
+==============================================================================
+ CategoryInfo : InvalidOperations: (System.Net.HttpWebRequest:HTTTpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebcmdletWebResponseException,Microsoft.Powershell.Commands.InvokeWebRequest
如果我刪除 - 身體,沒有錯誤,並且響應正如預期的那樣「API密鑰無效」,這意味着我的REST API正確驗證。
所以我懷疑如果我的問題是在身體上的原因?任何想法如何解決這個問題?
PS版是4.0.0
PS C:\> $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
4 0 -1 -1
是的,我已經做了通過移動到頭部的解決辦法,但是我仍然intriqued爲什麼我不能把它傳遞身體? – Rudy
一般來說,頭部可以被某些實體修改(通過http)。意思是,如果需要,代理服務器可以修改你的參數。這可能會帶來更多的亮點:http://softwareengineering.stackexchange.com/q/277343 –