【发布时间】:2022-12-21 01:00:34
【问题描述】:
有网站 https://cebcare.ceb.lk/Incognito/DemandMgmtSchedule,在那里我可以看到一个 API 调用 https://cebcare.ceb.lk/Incognito/GetLoadSheddingEvents,StartTime 和 EndTime 作为表单数据。
我尝试使用 axios 将发布请求发送到 Node.js 中的上述端点,但我收到错误 AxiosError: unable to verify the first certificate 和 code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
然后我看到有2个HeaderRequestVerificationToken和Cookie。我抓住了它们并做了一个 Postman 请求并得到了 200 的响应。但是在 Node.js 中,当我喜欢
const data = {
StartTime: startDate,
EndTime: endDate
}
const response = await axios.post(URL, data,{
'Content-Type':'multipart/form-data',
Cookie: '.AspNetCore.Antiforgery.ThOcTlhnrMo=CfDJ8Nr2EC612OFAjHvozOYXtlRQE9n05fuSOD0jEvKY0unmx8QyMYxdCfmotrhzVIKzurnhpkY_MtfAP9cmpR11u8rzt7_xz4IkuWMURwfelg7ymSJ8GaksLVwEgbMIkEDfrvjb5II6EzzTaLA5RiXRDXU',
RequestVerificationToken: 'CfDJ8Nr2EC612OFAjHvozOYXtlRBtAUjb36TUpOhI0yuLADjcckB_h1xKJWHDwl0MrqyE4_4pU_YXUkeh5uI66UBXedMcMmihENJ5hpfW_vBgNWZJ-JtliiE4UYvxNJCvvhmGvIWSKWeeqx-llCxrPio9Tw'
});
我得到与上面相同的错误
有没有办法来解决这个问题。或者以某种方式绕过Cookie 和RequestVerificationToken。或者我可以硬编码这两个值并发送请求吗?
编辑在查看 linkedin 帖子后,我做了以下操作
const httpsAgent = new https.Agent({ rejectUnauthorized: false });
const response = await axios.post(URL, data,{
httpsAgent,
'Content-Type':'multipart/form-data',
Cookie: '.AspNetCore.Antiforgery.ThOcTlhnrMo=CfDJ8Nr2EC612OFAjHvozOYXtlRQE9n05fuSOD0jEvKY0unmx8QyMYxdCfmotrhzVIKzurnhpkY_MtfAP9cmpR11u8rzt7_xz4IkuWMURwfelg7ymSJ8GaksLVwEgbMIkEDfrvjb5II6EzzTaLA5RiXRDXU',
RequestVerificationToken: 'CfDJ8Nr2EC612OFAjHvozOYXtlRBtAUjb36TUpOhI0yuLADjcckB_h1xKJWHDwl0MrqyE4_4pU_YXUkeh5uI66UBXedMcMmihENJ5hpfW_vBgNWZJ-JtliiE4UYvxNJCvvhmGvIWSKWeeqx-llCxrPio9Tw'
});
但现在我得到了 Bad Request 400。但是在邮递员中,我得到了相同的 Cookie 和 RequestVerificationToken 的结果
【问题讨论】:
-
发帖前请按照How to Ask进行研究;这是How to configure axios to use SSL certificate?的副本
标签: javascript node.js http cookies axios