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

如何在PowerShell中测试带证书与不带证书的Web连接?

绕过PowerShell HTTPS证书验证的测试方案

问题说明

我知道Web服务安装证书后,能用PowerShell的Invoke-WebRequest命令访问HTTPS站点测试连接,但想搞清楚:能不能绕过证书验证来测试连接?会不会出现证书验证不通过导致正常连接失败,但绕过验证后连接成功的情况?目前我已经能通过Invoke-WebRequest -Uri "https://..." -UseBasicParsing -TimeoutSec 10正常连接目标站点,现在需要找绕过证书验证的测试方法。

可行解法

通过自定义证书策略类,强制跳过所有证书验证步骤,就算站点连接不安全(比如用自签证书、证书过期等)也能获取响应。具体操作如下:

  1. 定义自定义证书验证策略:
add-type @"
public class AcceptAllCertificatePolicy : System.Net.ICertificatePolicy {
    public bool CheckValidationResult(System.Net.ServicePoint srvPoint, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Net.WebRequest request, int certificateProblem) {
        return true;
    }
}
"@
  1. 应用该策略到全局:
[System.Net.ServicePointManager]::CertificatePolicy = New-Object AcceptAllCertificatePolicy
  1. 执行测试请求:
Invoke-WebRequest -Uri "https://..." -UseBasicParsing -TimeoutSec 10

说明:这个自定义策略会让PowerShell忽略所有证书相关的验证错误,直接建立HTTPS连接,适合测试证书问题导致的连接失败场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 14:52:03