2017-03-08 58 views
1

我在PowerShell中使用Head方法運行以下內容,但沒有得到任何響應。預期的輸出是編碼格式。Head方法與Invoke-RestMethod一起使用時無法獲得響應

Invoke-RestMethod -Uri 'http://localhost:2375/containers/45e97476b2f5/archive?path=/home/test/' -Method Head 

當我使用CURL或SOAP UI運行相同的REST API請求時,我的預期輸出如下。

HTTP/1.1 200 OK 
Content-Type: application/x-tar 
Server: Docker/1.12.3 (linux) 
X-Docker-Container-Path-Stat: eyJuYW1lIjoidGVzdCIsInNpemUiOjYsIm1vZGUiOjIxNDc0ODQxNDEsIm10aW1lIjoiMjAxNy0wMy0wN1QyMzoyMToyNC40MD 

任何幫助?

回答

1

Invoke-RestMethod用於與Restful Web服務進行交互,因此即使指定了Head方法,它也不會返回請求的標題。

您應該改爲使用Invoke-WebRequest,它會帶回標頭和其他屬性(標頭位於.headers屬性中)。

例如:

$Web = Invoke-WebRequest -URI 'http://localhost:2375/containers/45e97476b2f5/archive?path=/home/test/' -Method Head 
$Web.Headers 
0

我能夠使用Invoke-WebRequest獲得響應。