使用 powershell (版本 5.1.18362.145)并尝试使用 Invoke-WebRequest
使用 -SkipCertificateCheck
时失败.
我不知道该怎么做,因为它似乎记录在 msdn 上。 .我试过运行 Update-Module
以防万一模块是旧版本,但尚未解决问题。
命令:
iwr -SkipCertificateCheck google.com -UseBasicParsing -Method Head
Error:
Invoke-WebRequest : A parameter cannot be found that matches parameter name 'SkipCertificateCheck'
At line:1 char:5
+ iwr -SkipCertificateCheck google.com -Method Head
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand`
有谁知道如何获取
Invoke-WebRequest
不检查证书就可以工作?这样做的总体目标是使用
Invoke-WebRequest
使用具有自签名证书的站点。
最佳答案
SkipCertificateCheck
不适用于 5.1 ,您很可能正在查看错误版本的 PowerShell。这是用于不受信任证书的常见解决方法。
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
Invoke-WebRequest https://expired.badssl.com/
关于尝试 -SkipCertificateCheck 时 Powershell iwr 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59924142/