工程点点app爬虫和sign算法破解

这世界真的什么人都有,哎,继续分析。
通过对工程点点的逆向和抓包分析,发现工程点点需要x-signtoken验证。
this.b.a(aVar.b("Accept", "application/json").b("token", userToken).b("X-OS", "2").b("X-Plat", Constants.VIA_SHARE_TYPE_INFO).b("X-Dev", GcddApplication.c).b("X-Dev-Id", GreenDaoUtil.getUid()).b("X-App-Ver", GcddApplication.b).b("X-Sign", mD5String).b("X-Ts", sb5.toString()).a(v.c()).a().d()).a(cVar);
这些代理可以很清楚的看到token和sign是怎么来的,不具体多说。
这个token使用的是usertoken,usertoken怎么获取呢??
自己分析登录接口就行了。
那么sign怎么来的呢??
很明显md5,具体是怎么做的呢,涉及到该公司的利益,不能过多透露,反正是对请求参数进行某些操作之后然后使用md5的。
对这些参数分析完之后,就需要写爬虫了,
直接看代码,没写完

class GongCd(object):
    def __init__(self, token=None):
        self.headers = {
            'Accept': 'application/json',
            'token': '',
            'X-Sign': '',
            'Content-Type': 'application/json; charset=utf-8',
            'Connection': 'Keep-Alive',
            'Accept-Encoding': 'gzip',
            'User-Agent': 'okhttp/3.9.1',
        }
        self.token = None

    def data_md5(self, data,method):
        #这里写的是具体sign算法,可以关注【小白技术社】 公众号 讨论技术
        return md5.hexdigest()

    def spider(self, url, method, data=None):
        self.headers['X-Sign'] = self.data_md5(data)
        self.headers['token'] = self.token
        if method == 'GET':
            res = requests.get(url, headers=self.headers)
        else:
            res = requests.post(url, data=json.dumps(data), headers=self.headers)
        return res


gcd = GongCd()


def qiyeke(data):
    # 企业库
    res = gcd.spider('http://gcdd.koncendy.com/gcddv216/app/scsolrcompany/QueryHighLightList', 'POST',
                     data=data).text
    if not res:
        return
    res_json = json.loads(res)
    res_list = res_json.get('data').get('result')
    pymg = MongoDB('EnterpriseRepository')
    res_mg_list = []
    id_list = []
    for res in res_list:
        id_list.append(res['enterpriseId'])
        del res['parentId']
        res_mg_list.append(res)

欢迎关注小白微信公众号【小白技术社】,一起学习一起交流

1236139-20190907114120352-1218272127.png

转载于:https://www.cnblogs.com/xbjss/p/11479848.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值