微信小程序AP配网局域网通信
1,前言
最近在做IOT的项目,里面有个小程序要用到AP配网,和设备做一个局域网通信。可是小程序会做安全域的校验,而局域网只能是http的协议,并且局域网没有外网(无法百度等上网冲浪),在手机没有3g/4g/5g网络下,通信可以正常进行吗?所以我做了一个调研。
2,相关资料
小程序官网原文如下:
基础库
2.4.0提供了wx.startLocalServiceDiscovery等一系列mDNS API,可以用来获取局域网内提供mDNS服务的设备的IP。wx.request/wx.connectSocket/wx.uploadFile/wx.downloadFile的url参数允许为${IP}:${PORT}/${PATH}的格式,当且仅当IP与手机IP处在同一网段且不与本机IP相同(一般来说,就是同一局域网,如连接在同一个wifi下)时,请求/连接才会成功。在这种情况下,不会进行安全域的校验,不要求必须使用https/wss,也可以使用http/ws。基础库2.7.0开始,提供了wx.createUDPSocket接口用于进行UDP通信。通信规则同上,仅允许同一局域网下的非本机IP。
wx.request({
url: 'http://10.9.176.40:828'
})
注:同一网段,指的是 IP 前三段相同且子网掩码也相同,比如 192.168.43.01 和 192.168.43.02。
3,实验代码
小程序写好代码,发布体验版,手机和后端连接同一个 wifi,接口地址是后端本地服务,通信成功,证明是可行的。
wx.request({
url: 'http://172.168.10.xxx/api',
success: (res) => {
showModal({
title: '温馨提示',
content: JSON.stringify(res),
showCancel: false
})
},
fail: (rej) => {
showModal({
title: '温馨提示',
content: JSON.stringify(rej),
showCancel: false
})
}
})
如果看了觉得有帮助的,我是@上进的鹏多多,欢迎 点赞 关注 评论;END
PS:在本页按F12,在console中输入document.querySelectorAll('.diggit')[0].click(),有惊喜哦
公众号
往期文章
- 超详细的Cookie增删改查
- 助你上手Vue3全家桶之Vue-Router4教程
- 助你上手Vue3全家桶之Vue3教程
- 助你上手Vue3全家桶之VueX4教程
- 使用nvm管理node.js版本以及更换npm淘宝镜像源
- 超详细!Vue-Router手把手教程
- vue中利用.env文件存储全局环境变量,以及配置vue启动和打包命令
- 微信小程序实现搜索关键词高亮
- 超详细!Vue的九种通信方式
- 超详细!Vuex手把手教程
个人主页


浙公网安备 33010602011771号