简而言之:这里是一些Python代码发布到Betfair API。我想用Axios做同样的事情。
resp = requests.post('https://identitysso-cert.betfair.com/api/certlogin',
data=payload, cert=('TestApp.crt', 'client-2048.key'), headers=headers)
我正在阅读AXIOS文档,我很好奇如何应用cert=('TestApp. net '。Crt ', ' client -2048.key')字段。
详细说明:目前,我有这个:
axios({
method: "POST",
headers: headers,
url: "https://identitysso-cert.betfair.com/api/certlogin",
data: payload,
});
我会使用form-data吗?库将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路由,我使用HTTPS节点js。
我将它与我提供给Axios的选项一起添加。
const httpsAgent = new https.Agent({
cert: fs.readFileSync("certificat.crt"),
ca: fs.readFileSync("key.pem"),
});
我得到这个错误:
Error: "Error: SSL Error: SELF_SIGNED_CERT_IN_CHAIN">
再深入一点,
SELF_SIGNED_CERT_IN_CHAIN错误意味着你不能使用自签名证书。
我最终使用Python来完成我需要的。