我有一个世博会的应用程序,可以与IoT设备一起工作。为了连接到该设备,用户打开设备的wifi并向其发送有关其wifi的信息,这样设备本身就可以连接到wifi。
到目前为止,已经使用fetch在特定端口上向设备IP地址发送post,从而完成了从设备到应用程序的网络调用。例如http://192.168.1.1:1234/
处理设备生产的团队最近将SSL添加到此调用中,现在应该向https://192.168.1.1:1234/发出网络调用。他们要求我“创建一个自定义的"TrustManager”,并信任我创建的自签名证书。“
问题是我找不到任何关于我应该如何使用React Native信任自签名证书的信息。我甚至找不到一种方法来禁用SSL证书检查,仅仅是为了测试目的(例如,我可以使用Postman来做这件事,并且网络调用可以工作)。我甚至不确定应该关注哪个方向,因为我发现的大多数信息都是特定于节点的,而不是客户端的。
由于我的大部分专业知识都是在应用程序构建方面的,所以我对SSL证书并不是很了解,我意识到我对这个问题的理解可能是错误的,我可能从错误的角度来处理它。
编辑:目前还不能通过世博会做到这一点,但请随时对问题here进行投票
发布于 2019-09-14 03:21:59
我没有在React native上使用过这样的物联网设备,但当制作的API没有正确完成SSL认证时,我遇到了类似的问题。我通过使用rn-fetch-blob (https://github.com/joltup/rn-fetch-blob)绕过SSL认证解决了这个问题。
您可以尝试使用rn-fetch-blob调用API,如下所示
RNFetchBlob.config({ trusty: true })
.fetch(
'POST',
'https://yourAPI',
{
'Content-Type': 'application/json',
},
dataObj
)
.then(res => console.log(res));https://stackoverflow.com/questions/57928223
复制相似问题