收藏
回答

局域网通信错误校验了request域名

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.request 微信iOS客户端 8.0.16 2.21.3

{"errMsg":"request:fail

url not in domain list"}

{"data":{},"url":"http://192.168.137.94:7779/KEY_RIGHT..controller","timeout":500}

小程序连接局域网,与局域网设备保持同一wifi,对设备发起指令请求,使用的API是 wx.request

局域网请求时,直接提示没有配置request域名。

此功能在1年以前是好使的,并且经过了测试验证和线上验收。

最近1年没有关注,最近线上用户大量反馈说局域网环境下不好使,用户中有安卓用户也有IOS用户。

有的模块本身具备局域网失败后,fallback使用跨网方案可以保证功能正常,

但有的模块完全依赖小程序局域网通信,局域网通信必现失败后,产品逻辑遭到根本性破坏。

文档中说,如果局域网ip与本机不相同,是可以直接使用http加ip方式访问接口,并且不用后台添加请求域名。

根据社区搜索,提示的几种方案均不能解决问题

1.http换成https。 此方案无效,不能解决

2.request域名添加局域网地址。 此方案没有可操作性,局域网地址无法穷举

3.打开调试模式vconsole,不校验合法域名。 经过试验,只要打开vconsole,问题立即就解决了,不校验合法域名也可以解决。

但此方案同样没有可操作性,不可能让线上大量用户都开vconsole。




最后一次编辑于  2022-01-10
回答关注问题邀请回答
收藏

3 个回答

  • 鹏多多
    鹏多多
    2022-08-04

    这问题一直没解决

    2022-08-04
    有用 1
    回复
  • W
    W
    2022-06-22

    楼主,请问解决了吗,我请求局域网ip也报这个错 {"errMsg":"request:fail

    url not in domain list"}



    2022-06-22
    有用
    回复 1
    • 十四
      十四
      2022-10-22
      请问解决了吗
      2022-10-22
      回复
  • Cjiang
    Cjiang
    2022-01-11

    需要 https

    2022-01-11
    有用
    回复 8
    • Spencer[^ -~]
      Spencer[^ -~]
      2022-01-13
      帖子已经说过了,换成https也不行,也提示 url not in domain list
      2022-01-13
      回复
    • Spencer[^ -~]
      Spencer[^ -~]
      2022-01-13
      而且你给的截图是 关于怎么配置 服务器域名的,这个服务器域名我肯定配置的是https的。
      但是我的问题是,我访问的是局域网的地址,没办法在小程序后台一个一个都配置上去。
      而且,这个局域网通信,原本在生产环境正式版是好用的,最近才发现不好使的。
      2022-01-13
      回复
    • Cjiang
      Cjiang
      2022-01-13回复Spencer[^ -~]
      提供复现的小程序码看看,并详细描述下复现流程
      2022-01-13
      回复
    • sine
      sine
      2022-01-13回复Spencer[^ -~]
      能帮忙定位下看看是哪个版本开始不能用了呢
      2022-01-13
      回复
    • Spencer[^ -~]
      Spencer[^ -~]
      2022-01-17回复sine
      已验证 2.5.2、2.17.0、2.19.6版本正常,本来想在问题版本2.21.2版本上复现一下,但是来回重新安装微信,等到最新的版本微信,基础库已经自动升级到了2.21.3版本,问题疑似已被修复,无法复现。
      此问题后续会继续跟踪用户反馈。
      2022-01-17
      1
      回复
    查看更多(3)
登录 后发表内容