微信小程序AP配网局域网通信

1,前言

最近在做IOT的项目,里面有个小程序要用到AP配网,和设备做一个局域网通信。可是小程序会做安全域的校验,而局域网只能是http的协议,并且局域网没有外网(无法百度等上网冲浪),在手机没有3g/4g/5g网络下,通信可以正常进行吗?所以我做了一个调研。

2,相关资料

小程序官网原文如下:

基础库 2.4.0 提供了 wx.startLocalServiceDiscovery 等一系列 mDNS API,可以用来获取局域网内提供 mDNS 服务的设备的 IPwx.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.01192.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
    })
  }
})

本次分享就到这儿啦,我是鹏多多,如果您看了觉得有帮助,欢迎评论,关注,点赞,转发,我们下次见~

往期文章

个人主页

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冲浪的鹏多多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值