用于HTTPS连接的Powershell SSL TLS密码套件



我正在尝试使用powershell从https站点获取html内容。

不幸的是,该站点仅包含一组有限的SSL/TLS密码套件,并且不支持Powershell可用的套件。

如果我尝试使用 Invoke-WebRequest cmdlet,我会收到以下错误消息:

Invoke-WebRequest : 请求已中止: 无法创建 SSL/TLS 安全通道。

问题:

  1. 有没有办法指定Powershell使用的客户端SSL/TLS密码套件?
  2. 是否有其他可用于发送 Web 请求的 cmdlet?

我不想切换到备用语言,但如果无法指定 PowerShell 使用的密码套件,我可能必须这样做。

以下是服务器支持的套件:

TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x9f(

TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x6b(

TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39(

TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (0x88(

TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x9e(

TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x67(

TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33(

TLS_DHE_RSA_WITH_SEED_CBC_SHA (0x9a(

TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (0x45(

我的解决方案是使用 Curl 的 win32 版本.exe与 SSL 支持,然后使用返回的 html。Curl 可以作为独立的 exe 从以下位置下载: link Curl exe 只需要位于 PATH 环境变量中的某个位置,或者在脚本中硬编码路径。

最新更新