【发布时间】:2021-11-07 22:55:31
【问题描述】:
向使用自签名证书的服务器发送 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
Content 包含一些有线数字,所以我追求 RawContent,我将如何解析里面的 JSON,忽略标题?还是有一种干净的方法可以从这些数字中获取内容?
【问题讨论】:
-
您需要 JSON 还是只需要这些值?您可以将
Invoke-WebRequest替换为Invoke-RestMethod,它会自动将json 响应转换为psobject,这样您就可以使用$response = Intoke-RestMethod -Uri "https://yadayada:8080/bla"; $response.flag -
感谢 Frode F.,这解决了我的难题。对我来说,JSON 值已经足够好了,如果您将此作为答案重新发布,我会接受它
标签: json powershell response