首页 > 解决方案 > 需要对 Web 请求响应中的值进行排序

问题描述

我需要从网络请求响应中对 BuildName: 的特定值进行排序。

如何将特定响应存储在变量中?

尝试使用以下命令

Invoke-WebRequest -Uri https://s3.amazonaws.com/$url/env.js | select-object Content

我收到以下回复。我需要从那里对值进行排序

回复会是这样

window.env = { // 在这里硬编码环境变量,但使用 #{}# BuildName: 'AppClient-develop-0716.4' GRAPH_QL_HOST: 'https://xyz.google.com/graphql' };

从她需要获取 BuildName 的值:

标签: powershellinvoke-webrequest

解决方案


您可以将内容转换为单独的字符串并解析它们以获取单独的值。

例子

# $Content = (Invoke-WebRequest -Uri https://s3.amazonaws.com/$url/env.js).Content
$Content = @'
window.env = { 
  // Hardcode environment variables in here but tokenize customer specific ones with #{}# 
  BuildName: 'AppClient-develop-0716.4' 
  GRAPH_QL_HOST: 'xyz.google.com/graphql' 
 };
'@ 

$Content -split "`r`n" | Select-String "\w+:" | % { ($_ -split ": ")[1]}

推荐阅读