You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将bash中正常运行的curl命令转换为PowerShell可用命令

PowerShell 等效命令实现

方案1:调用系统自带原生curl(推荐,Win10 1809及以上版本默认支持)

直接调用curl.exe即可复用几乎所有原bash下的curl参数,仅需要去掉URL内的转义符\:

curl.exe -s -H 'X-AUTH-TOKEN:09f4a92e8fbfc9f9f530771ac32d37a1' -H "Content-Type: application/json" -X GET 'http://127.0.0.1/centreon/api/beta/monitoring/services?search={"service.state":"2","service.is_acknowledged":"0"}'

方案2:使用PowerShell原生Invoke-WebRequest cmdlet(无需额外依赖)

对应原curl所有功能的原生实现如下:

# 隐藏请求进度条,等效原curl的-s静默参数
$ProgressPreference = 'SilentlyContinue'

# 构造请求头
$requestHeaders = @{
    "X-AUTH-TOKEN" = "09f4a92e8fbfc9f9f530771ac32d37a1"
    "Content-Type" = "application/json"
}

# 发起GET请求,返回结果中Content属性即为响应文本
$response = Invoke-WebRequest `
    -Uri 'http://127.0.0.1/centreon/api/beta/monitoring/services?search={"service.state":"2","service.is_acknowledged":"0"}' `
    -Method Get `
    -Headers $requestHeaders

# 输出响应内容
$response.Content

注意事项

  • PowerShell默认的curl是Invoke-WebRequest的别名,和Linux下的原生curl参数不通用,调用原生curl必须加.exe后缀
  • PowerShell中单引号包裹的字符串会原样保留内容,不需要额外对大括号做转义,所以原URL中的\转义符可以直接删除
  • 如果需要把响应内容转为JSON对象操作,可以直接用$jsonResult = $response.Content | ConvertFrom-Json处理

内容的提问来源于stack exchange,提问作者Adolf Ku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:12:03