2
收藏
评论

request:fail 未能完成该操作。协议错误

request:fail 未能完成该操作。协议错误。安卓机正常,苹果机不正常

开发者工具测试OK
安卓机测试OK,线上OK
ios测试OK,线上报错

1.我以为是ssl协议问题,重新配置Nginx,重新申请签名,换阿里云签名到腾讯云签名,甚至重启,甚至到myssl.com 检查apple 的 ATS,都没有解决效果,这花了我很长时间去检查
2.在线测试:从入口文件手动断点测试,一直到正常流程的最后,结果发现问题了:在返回json 数据的地方,在正式返回数据之前都OK的,在返回到客户端就GG了,然后发现,我的代码是这样写的:

问题就出在这个header 上面,应该是先设置content-type ,再设置字符编码,代码修改如下:

问题得到解决

结果反思:为什么在开发中工具中测试OK,为什么在安卓机测试OK,为什么在苹果机测试就错误了呢,可能是ios强制校验了header头的设置顺序,应该 遵循这样一个顺序:文件保存的编码格式、header设置的输出编码格式、数据库存储使用的编码三者保持一致(可缺省)

最后一次编辑于  07-17  (未经腾讯允许,不得转载)
复制链接赞 2收藏投诉评论

2 个评论

  • 
    
    07-17

    感谢分享

    07-17
    赞同 1
    回复 1
    • 飞哥
      飞哥
      07-17
      躺过的坑,愿后来者不湿脚~~
      07-17
      回复