公司微信1.0开发,今天抓到了那条滑溜的鱼

    header跳转也算是经常用的,我一直知道它的特性是前边不能有输出,但是从来没注意过header后边有输出会发生什么。

    这次是微信服务号的开发任务,领导给了两周时间,问题是仅有的两个php程序员都没有做过。任务包括:公司平台上的扫码登录,微信公众号的群发基本功能加上微场景、微官网,以及主站与微信平台的用户同步(数据和登录状态)。微信平台选用的是weiphp。

    整个流程有四块:用户,腾讯,weiphp,平台。

    规范是:用户只与平台、腾讯通信,平台只与用户、weiphp通信,weiphp只与平台、腾讯通信。相关通信均采用的curl

    实施方案:

    A:用户在平台选择微信登录,平台-》weiphp:带上(访客标识)参数请求oauth2.0网页授权二维码,得到后展示在页面上,用户微信扫码授权,页面跳转,登陆成功。

    B:在微信里点击相关菜单链接到平台的微信页面,(是的,微官网主要页面在平台那里,可以当成平台手机页面),判断当前微信用户在平台上是否有对应帐号,如果有静默同步登录,没有则按照页面性质(是不是需要登录才能看得页面)要求用户绑定或则注册。

    细节:这里有几点需要注意,具体接口对接和应用代码我就不阐述了,只说说个人遇到的一些问题

    A.info:

    1、二维码需要参数,必须,也就是说每次的二维码不一样,这个是用来区分用户的,用户在手机上授权,服务器就靠这个识别了,可以对比页面上的和授权过来的参数,来识别用户做相关操作;这里用到微信接口里的一个关键参数state,可以查相关文档,这里不再细说,

   2、二维码展示在平台页面之后,前端需要问后端授权结果,程序需要不断检测用户授权结果,将处理结果反馈给前端。我们采用的是前端不断请求的方法,我看一些网站采用的是前端定时请求,后端不断扫描的方式,这块没来得及细化。

    B.info:

    1、从微信到平台页面的用户同步,我本来想的是在链接里加上用户的openid,平台的程序接到后对比一下数据库就行了(这就是惯性思维),事实上这样完全行不通,链接加在微信的菜单里,点击之后直接跳了,微信是给推送view事件了,但是完全不理会你返回的内容,直接跳转了。后来突然发现snsapi_base静默授权是可以直接获用户的openid,这个问题终于就诶决了

    2、测试的时候一切正常,结果到上线的时候突然功能出问题了,什么问题呢?问题有两个:第一就是curl的过程中链接错误,我看了之后发现没错啊,链接放在地址栏是正常的。仔细排查发现链接前边多了“& # 65279;”;

    3、第二就是程序要走好几次才能同步成功,这个问题问题困扰了我两天,我怀疑腾讯、怀疑curl。。。后来仔细反复测试,分析日志;发现第一同步都不成功;但是程序逻辑没错,参数每次,链接没错,从日志里把链接拿出来单独执行也没错,我终于怀疑到自认为完全没问题的header上面了,前后都排除了,不是它是谁。在header后加了exit;,果然好了

    收获:header不只前边不能有输出,后边程序也要截断,否则会接着执行后边的程序,这时候就会出问题;

转载于:https://my.oschina.net/AlingyunA/blog/540965

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序是基于微信平台的一种应用,开发者可以通过小程序开发工具进行开发,并且可以通过抓包工具来获取小程序与后端API之间的通信数据。 要抓包到后端API,首先需要进行如下几个步骤: 1. 安装并配置抓包工具:在电脑上安装并配置抓包工具,常用的有Fiddler、Charles等。具体的安装及配置方法可以参考对应抓包工具的官方文档。 2. 连接手机和电脑:打开微信小程序开发工具,并连接手机和电脑。在手机微信中打开对应的小程序,并点击开发工具中的“预览”按钮,将小程序与开发工具建立起连接。 3. 配置代理:在抓包工具中设置代理,将手机的网络请求通过电脑进行拦截和抓包。具体的代理配置方法可以参考对应抓包工具的官方文档。 4. 抓包:通过代理配置后,抓包工具将能够拦截到小程序与后端API之间的通信数据。可以在抓包工具中查看和分析这些数据,包括请求的URL、请求参数、请求头、响应数据等。 需要注意的是,抓包可能涉及到隐私和安全问题,请在合法合规的情况下使用抓包工具,切勿滥用和非法使用。此外,抓包可能会对网络请求的性能产生一定的影响,建议在开发和测试阶段使用,避免在正式环境中使用抓包工具。 总结一下,要抓包到微信小程序与后端API之间的通信数据,需要安装并配置抓包工具、连接手机和电脑、配置代理、通过抓包工具查看和分析数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值