收藏
回答

WebSocket 链接的 User-Agent 异常

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小程序 Bug iOS iOS 12.1 iPhone 7<iPhone9,1> 7.0.3

- 当前 Bug 的表现(可附上截图)


我们有API会把完整的HTTP请求报文返回给客户端,客户端再通过云函数,把 HTTP报文 加上openid 返回给后台,来确定不是爬虫的行为


目前收到异常的 HTTP 报文:


GET /xxx HTTP/1.1
Host: xxx
Connection: upgrade
Sec-Websocket-Key: zm7HEXzq+AbnYMK\/Bdvt2g==
Sec-Websocket-Version: 13
Upgrade: websocket
User-Agent: WebSocket++/0.8.1


报文里的 User-Agent 不是小程序的,也没有客户端设置的认证信息


客户端具体信息:

{
    "SDKVersion": "2.6.6",
    "albumAuthorized": true,
    "batteryLevel": 54,
    "bluetoothEnabled": false,
    "brand": "iPhone",
    "cameraAuthorized": true,
    "deviceOrientation": "portrait",
    "fontSizeSetting": 17,
    "language": "zh_CN",
    "locationAuthorized": true,
    "locationEnabled": true,
    "microphoneAuthorized": true,
    "model": "iPhone 7<iPhone9,1>",
    "notificationAlertAuthorized": true,
    "notificationAuthorized": true,
    "notificationBadgeAuthorized": true,
    "notificationSoundAuthorized": true,
    "pixelRatio": 2,
    "platform": "ios",
    "screenHeight": 667,
    "screenWidth": 375,
    "statusBarHeight": 20,
    "system": "iOS 12.1",
    "version": "7.0.3",
    "wifiEnabled": true,
    "windowHeight": 603,
    "windowWidth": 375
}


- 预期表现


- 复现路径


- 提供一个最简复现 Demo


回答关注问题邀请回答
收藏

2 个回答

  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    2019-06-03

    我们近期在灰度替换 WebSocket 的底层实现,会出现这个不同的 UA。这个暂时只能你来兼容一下了。

    2019-06-03
    赞同
    回复 3
    • 
      
      2019-06-03

      已在客户端增加参数来识别

      2019-06-03
      回复
    • 
      
      2019-06-03

      当时发现的bug就是 wx.connectSocket 时设置 header 不成功

      2019-06-03
      回复
    • da崔
      da崔
      2019-08-06
      请问是灰度替换过程中偶尔出现这个UA, 还是未来会把所有UA替换成这个UA?
      2019-08-06
      回复
  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    2019-04-26

    麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2019-04-26
    赞同
    回复
登录 后发表内容