#api #post #axios #betfair
Вопрос:
Короче говоря: Вот несколько сообщений кода Python в API Betfair. Я хотел бы использовать 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 и использую HTTPS для узла js.
Я добавляю это вместе с опциями, которые я предоставляю Axios.
const httpsAgent = new https.Agent({
cert: fs.readFileSync("certificat.crt"),
ca: fs.readFileSync("key.pem"),
});
Я, в свою очередь, получаю эту ошибку:
Ошибка: «Ошибка: Ошибка SSL: SELF_SIGNED_CERT_IN_CHAIN»
Ответ №1:
Копаем немного глубже,
Ошибка SELF_SIGNED_CERT_IN_CHAIN означает, что вы не можете использовать самозаверяющие сертификаты.
В итоге я использовал Python для достижения того, что мне было нужно.