当前位置: 首页 > 面试题库 >

如何在PowerShell中从Invoke-WebRequest解析JSON?

曾嘉言
2023-03-14
问题内容

将GET请求发送到使用自签名证书的服务器时:

add-type @"
    using System.Net;
    using System.Security.Cryptography.X509Certificates;
    public class TrustAllCertsPolicy : ICertificatePolicy {
        public bool CheckValidationResult(
            ServicePoint srvPoint, X509Certificate certificate,
            WebRequest request, int certificateProblem) {
            return true;
        }
    }
"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy
$RESPONSE=Invoke-WebRequest -Uri https://yadayada:8080/bla -Method GET
echo $RESPONSE

我得到以下回应:

StatusCode        : 200
StatusDescription : OK
Content           : {123, 10, 108, 111...}
RawContent        : HTTP/1.1 200 OK
                    Content-Length: 21
                    Date: Sat, 11 Jun 2016 10:11:03 GMT

                    {
                        flag:false
                    }
Headers           : {[Content-Length, 21], [Date, Sat, 11 Jun 2016 10:11:03 GMT]}
RawContentLength  : 21

内容包含一些有线号码,因此我追随RawContent,该如何解析内部的JSON,而忽略标题?还是有一种干净的方法来从这些数字中获取内容?


问题答案:

你可以替换Invoke-WebRequest使用Invoke-RestMethod其自动转换JSON响应psobject,以便您可以使用:

$response = Invoke-RestMethod -Uri "https://yadayada:8080/bla"
$response.flag


 类似资料:
  • 使用Powershell v3的Invoke WebRequest和Invoke RestMethod,我成功地使用POST方法将json文件发布到https网站。 我用的命令是 但是,当我尝试使用GET方法时,例如: 返回以下错误 我尝试使用以下代码忽略SSL证书,但我不确定它是否真的在做任何事情。 有人能就这里可能出现的问题以及如何解决它提供一些指导吗? 谢啦

  • 我得到了这个错误。“invoke-webrequest:请求中止:无法创建SSL/TLS安全通道。”https请求似乎可以工作(“https://google.com”),但这个问题并不存在。我如何让它工作或使用其他powershell命令读取页面内容?

  • 问题内容: 在Firefox中解析XmlHttpRequest的HTML结果的最佳方法是什么? 编辑: 我 没有 DOM树,我想获取它。 XmlHttpRequest的“ responseXML”仅在结果是实际XML时才有效,因此我只有responseText可以使用。 innerHTML hack似乎不适用于完整的HTML文档(在 中)。 -结果很好。 问题答案: 应该工作得很好,例如

  • 问题内容: 我正在PowerShell ISE中编写脚本,并且正在使用Invoke-Sqlcmd。执行命令后,Powershell会话将切换到sqlps会话(PS SQLSERVER:>),并且我第二次无法执行脚本。我必须退出PowerShell ISE并重新启动。 所以我的问题是:如何从sqlps切换回常规ps或如何防止Invoke-Sqlcmd切换会话。 这不起作用: 问题答案: 该模块的行为

  • 问题内容: 我在s3中有很多gzip日志文件,其中有3种类型的日志行:b,c,i。我和c都是单层json: 类型b是深度嵌套的json。我碰到这个要点,谈论要编译一个罐子来完成这项工作。由于我的Java技能还不算出色,因此我真的不知道该怎么做。 由于类型i和c并不总是相同的顺序,因此很难在生成正则表达式中指定所有内容。Pig是否可以处理JSON(在gzip文件中)?我正在使用在Amazon Ela

  • 问题内容: 我想创建一个新闻应用程序,并且已将newsapi.org用作源。 我正在尝试获取Http库提供的JSON数据。 我在下面提供了完整的代码。 它不会给我任何错误,但不会加载任何数据,当我打印数据时,它可以打印所有内容,但无法显示。 我不是什么问题,但是我所有的项目都已停止解决此问题。 我正在寻找此代码的解决方案,因为它不起作用。 网络助手: 问题答案: 问题在于显示文章。yaa也正如@I