目录
为什么要做这样的骚操作
说到跨域,一般都是前后端分离之后,前端域名和后端域名不一致,从而被浏览器的同源策略拦截所导致。正常来讲,随着前后端分离的大流行,对于跨域问题的解决,大家都比较熟悉了。如果有同学对一般跨域问题有疑惑或者不熟悉的,可以先看看基本的跨域问题处理。
按理说碰到跨域问题,作为一个后端老油条来说,应该是轻车驾熟的;然而,常在河边走,哪有不湿鞋的,这次就碰上了一个很奇葩的需求。
上头给下来的需求大概描述一下是这样:
我们给某个运营商做推广,推广他们的某种号卡;我方自己出对应的H5落地页,在信息流平台上进行推广,然后将客户填写的联系信息同步给运营商。但是呢,奇葩的点来了,运营商不愿意给我们接口文档,更别说安排人和我们对接了。那数据怎么进行同步?运营商说,简单啊,我给你一个你的专属渠道的官方H5页面,你把你的客户信息,通过这个页面进行提交。
运营商的意思其实也很清楚,就是,你们可以像一个憨憨一样,在这个页面上疯狂提交客户信息;也可以对我这个页面的接口请求进行分析,我也不需要给你们分配账号配置接口权限,只要你们分析清楚了接口字段,随便你们怎么调接口。但是接口文档嘛,you just think think then good
。
所以说,我们后面的操作,都是经过三方服务的默许的。一般情况下,不要随随便便就去搞别人接口,哈哈哈。
接到这个需求,我就和老大开玩笑说,那就在我们这边进件后,导出用户信息的excel给运营,让他们去填表单,让他们经常搞事情害我们加班。
要是运营当时在,估计他们的内心OS是这样的。
玩笑归玩笑,这个需求的最终落地,肯定还是要通过接口分析后,直接在页面调用他们的接口进行信息提交的。
接口分析,其实也就是在浏览器上F12查看网页相关信息,走页面上的流程,看每个流程调用的接口,然后分析里面的具体字段,同时解析一下前端对应的加密方法(不需要进行破解,因为是从明文到密文,所以只需要调用对应的js进行加密即可),这是一个费时的操作,但是一步一步做,还是能稳步推进的。而最终的难点其实还是在于*如何处理与第三方服务的跨域问题,成功调用他们的接口。
虽然操作很骚,但是还是要开搞,下面开始进入正题。