gpt4 book ai didi

powershell - 无法在 PowerShell 中将 curl 转换为 Invoke-WebRequest(--不安全/-k 未找到)

转载 作者:行者123 更新时间:2023-12-05 02:16:35 25 4
gpt4 key购买 nike

我有原始的 curl 调用,据说可以在 Unix 环境(或他们在提供商办公室使用的任何环境)中工作。

curl 
-u ybeepbeepbeepa:eboopboopboopa
-k
-d "grant_type=mobile&customerId=SE.B2C/abcd&pin=1234&scope=openid"
-H "Content-Type:application/x-www-form-urlencoded"
https://xxx/oauth2/token

使用 docs for curl我将标志和属性交换为以下内容。

Invoke-WebRequest 
-User ybeepbeepbeepa:eboopboopboopa
-Method POST
-Headers @{"Content-Type"="application/x-www-form-urlencoded"}
-Uri "https://xxx/oauth2/token?grant_type=mobile&customerId=SE.B2C/abcd&pin=1234&scope=openid"

我唯一没有翻译的部分是-k,它应该等同于--insecure。检查上述文档,我找到了一些可能的替代方案(例如 -AllowUnencryptedAuthentication),但它们都失败了,我没有想法。

  1. PowerShell 的 Invoke-WebRequest 中 curl 的 --insecure(或 -k)的等价物是什么(意外地被评估为 < em>curl,因为标志不同,所以像鸭子一样令人困惑)?
  2. 命令的其余部分是否已正确移植到 PowerShell? (我已经收缩了一些标志并将它们与 URL 一起烘焙为查询字符串。而且我不完全确定 Headers 的语法。)

最佳答案

代替 -k,您需要使用 ServicePointManager 类为应用域设置证书验证例程:

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }

对于 -u 标志,您需要 construct the Basic Authentication header你自己:

function Get-BasicAuthCreds {
param([string]$Username,[string]$Password)
$AuthString = "{0}:{1}" -f $Username,$Password
$AuthBytes = [System.Text.Encoding]::Ascii.GetBytes($AuthString)
return [Convert]::ToBase64String($AuthBytes)
}

$Headers = @{"Content-Type"="application/x-www-form-urlencoded"}
$Headers['Authorization'] = "Basic $(Get-BasicAuthCreds ybeepbeepbeepa eboopboopboopa)"

Invoke-WebRequest -Method POST -Headers $Headers -Uri "https://xxx/oauth2/token?grant_type=mobile&customerId=SE.B2C/abcd&pin=1234&scope=openid"

如果您想内联生成凭证字符串,您可以这样做(尽管它有点笨拙):

$Headers = @{
"Content-Type" = "application/x-www-form-urlencoded"}
"Authorization" = "Basic $([Convert]::ToBase64String([System.Text.Encoding]::Ascii.GetBytes('ybeepbeepbeepa:eboopboopboopa')))"
}

关于powershell - 无法在 PowerShell 中将 curl 转换为 Invoke-WebRequest(--不安全/-k 未找到),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49409609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com