frisby 的获取方法不适用于 https

Get method of frisby does not work with https

我是飞盘测试的新手。今天我发现我无法从 friby api

访问 https://ip 地址

例如:

frisby.create('my test').get("https://199.59.148.20")
output: connect error

frisby.create('my test').get("https://api.twitter.com")
this one works

请指教!

这是因为连接不安全(不受信任的 SSL 证书)。如果您在浏览器中打开相同的 URL,它将在继续不安全的连接之前要求确认。

要在 frisby 中做同样的事情,请将第二个参数添加到 .get(...) 方法以指定 strictSSL = false,如下所示:

var frisby = require('frisby');

frisby.create('Get a https resource')
      .get('https://199.59.148.20', { strictSSL: false })
      .expectStatus(200) // For this case/IP-address this fails as it returns a 404
      .inspectBody()
      .toss();

这是因为 SSL 证书不受信任。您可以在 firsby 测试的开头包含这一行:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"

这将直接拒绝SSL证书。