powershell 将curl命令与Invoke-webrequest一起使用?

lf5gs5x2  于 2023-04-30  发布在  Shell
关注(0)|答案(2)|浏览(151)

我有这个curl命令:

curl -s -k -X POST https://xxxx/rest/com/vmware/cis/session -u 'xxx':'xxx'

如何将curl命令转换为powershell命令?

vshtjzan

vshtjzan1#

看起来,您正在尝试连接vCenter Server rest API,具体操作如下:

$Credential = Get-Credential
$vCenterServer = 'vcenter-server'
$auth = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($Credential.UserName+':'+$Credential.GetNetworkCredential().Password))
$AuthHeader = @{
  'Authorization' = "Basic $auth"
}

$conn = Invoke-WebRequest -Uri https://$vCenterServer/rest/com/vmware/cis/session -Method Post -Headers $AuthHeader
mctunoxg

mctunoxg2#

Curl.exe自Windows 10 1803起随Windows提供,因此自2018年3月以来,每个服务器或Windows客户端都是如此。
您可以在PowerShell中以本机方式使用它,但仅当您指定完整的可执行文件名称时。
换句话说

curl someurl.com      //uses the curl alias, which actually calls Invoke-WebRequest

curl.exe someurl.com //actually uses the real curl.exe binary.

相关问题