收藏
回答

wx.request 访问局域网iOS正常,安卓返回errno:600001?

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

wx.request 访问局域网地址 http://10.10.10.1:8000/config-write-uap

iOS正常,安卓试了小米、华为、三星手机都返回"errno":600001, "errMsg":"request:fail -101:net::ERR_CONNECTION_RESET

我们这个场景是WiFi模组配网,手机连上这个AP后是没有公网的,我怀疑安卓版微信判断当前没有网络,wx.request直接返回失败了。

安卓版原生App访问也没问题。

用TCPSocket.connect('10.10.10.1', 8000), TCPSocket.write去写http包在开启vConsole模式下可以正常通信。关闭vConsole后不行,这个原因应该是正式小程序TCPSocket禁止8000端口。但可以侧面证明,网络间通信是正常的,只是wx.request这里有问题。

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

2 个回答

  • Demons
    Demons
    2022-05-17

    你好,这个是标准的网络错误。网上有很多排查方法的,可以参考下https://www.zhihu.com/question/21512577

    2022-05-17
    有用 1
    回复 6
    • Lipeng
      Lipeng
      2022-05-18
      问题的原因找到了,是安卓手机的User-Agent的太长,WiFi模组解析时超出了header解析的buf,就直接把连接断了。。。
      2022-05-18
      回复
    • Lipeng
      Lipeng
      2022-05-18
      一个安卓的User-Agent就占了300多个字节,嵌入式系统空间紧张呀。有没有办法减少header的大小呢?
      2022-05-18
      回复
    • weipeng
      weipeng
      2022-08-29回复Lipeng
      后来你们是修改request的user-agent解决了吗?
      2022-08-29
      回复
    • notfound
      notfound
      2022-09-14
      我是安卓可以,ios不行,我这user-agent也不长啊,User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.27(0x18001b35) NetType/4G Language/zh_CN,请问你最后怎么解决的
      2022-09-14
      回复
    • KeilingZhuang
      KeilingZhuang
      2022-09-27回复Lipeng
      大佬请问后来是如何解决的呢 谢谢
      2022-09-27
      回复
    查看更多(1)
  • 被困群众
    被困群众
    2022-11-12

    苹果系统需要允许微信访问本地网络

    2022-11-12
    有用
    回复
登录 后发表内容