我们当前正在运行一个react应用,并希望向我们的一个接受http帖子的Epson热敏打印机发送心跳。
代码:
const heartBeatXml = `<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<epos-print xmlns="http://www.epson-pos.com/schemas/2011/03/epos-print">
</epos-print>
</s:Body>
</s:Envelope>`;
return axios.post(`https://${ip}/cgi-bin/epos/service.cgi?devid=${deviceName}&timeout=3000`, heartBeatXml)
.then(({data}) => {
return data.includes('success="true"');
})
.catch(() => {
return false;
});
但是在chrome中,我们会遇到以下错误:
net::ERR_CERT_AUTHORITY_INVALID
但是,如果我们转到https://my_printer_ip,Chrome会给您一个警告,如果您决定继续进行操作,它会起作用(我想某种程度的接受了他们的自签名证书?)。
我已经看到了可以在忽略证书错误中启动chrome的解决方案,但是还有其他解决方案吗?打印机在本地网络上,因此不必担心证书。