工程點點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)

歡迎關注小白微信公衆號【小白技術社】,一塊兒學習一塊兒交流

![](https://oscimg.oschina.net/oscnet/0119fd321eff220193f5ceb65b6a69a3ce4.jpg)
相關文章
相關標籤/搜索