如何在powershell的Invoke-RestMethod中转换curl命令

时间:2018-03-06 09:56:50

标签: powershell curl

我需要将以下命令从bash curl转换为powershell语法:

curl -s --head --header "PRIVATE-TOKEN:XXXXXX" "https://gitlab.XXXXXX/api/v4/projects/${id}/issues?state=all&per_pages=100"

特别是从结果中获取X-Total-Page的值。

我试图用此转换,但不起作用:

function getPageNumbers ($myId)
    {

        $privateToken = "myToken" 

        $headers = @{"PRIVATE-TOKEN"="$privateToken"}

        $url = "https://gitlab.XXXXXX/api/v4/projects/$myId/issues?state=all&per_pages=100"

        $result = Invoke-RestMethod -Method Head -Uri "$url" -Header $headers  -ContentType "text/json" 


        return $result
    }

可能是因为"Head"方法仅用于Invoke-Webrequest

有什么建议吗?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

我没有看到身体。但你可以补充一点。你可以这样做:

$privateToken = "myToken" 
$headers = @{"PRIVATE-TOKEN"="$privateToken"}

Invoke-WebRequest -Uri "https://gitlab.XXXXXX/api/v4/projects/$myId/issues?state=all&per_pages=100" -ContentType "application/json" -Headers $headers -Method Post

我还建议您浏览CURL to Invoke-WebRequest

希望它有所帮助。