0

简而言之:这是一些发布到 Betfair API 的 Python 代码。我想用 Axios 做同样的事情。

resp = requests.post('https://identitysso-cert.betfair.com/api/certlogin',
                     data=payload, cert=('TestApp.crt', 'client-2048.key'), headers=headers)

我正在阅读 AXIOS 文档,并且很好奇如何应用 cert=('TestApp.crt', 'cient-2048.key') 字段。

详细:目前,我有这个:

axios({
  method: "POST",
  headers: headers,
  url: "https://identitysso-cert.betfair.com/api/certlogin",
  data: payload,
});

我会使用表单数据库替换cert=('TestApp.crt', 'cient-2048.key')form<FormData>

const FormData = require("form-data");

const form = new FormData();
form.append("my_field", "my value");
form.append("my_buffer", new Buffer(10));
form.append("my_file", fs.createReadStream("/foo/bar.jpg"));

axios.post("https://example.com", form, { headers: form.getHeaders() });

编辑:

废弃了 FormData 路由,并为节点 js 使用 HTTPS。

我将它与我提供给 Axios 的选项一起添加。

const httpsAgent = new https.Agent({
  cert: fs.readFileSync("certificat.crt"),
  ca: fs.readFileSync("key.pem"),
});

我反过来得到这个错误:

错误:“错误:SSL 错误:SELF_SIGNED_CERT_IN_CHAIN”

4

1 回答 1

0

再深入一点,

错误 SELF_SIGNED_CERT_IN_CHAIN 表示您不能使用自签名证书。

我最终使用 Python 来完成我所需要的。

于 2021-10-14T22:41:24.403 回答