• 财政部就“财税改革和财政工作”答问 2019-06-21
  • 后伊布时代 北欧海盗能否再扮演“豪门杀手” 2019-06-10
  • 中国宗教研究学者:儒道佛三教关系为世界宗教发展提供新启迪 2019-06-10
  • “六一”特刊丨尤叔叔的安(xìng)全(fú)小课堂 2019-06-05
  • 微信“信用卡还款”3.0版本上线 支持招商银行账单查询 2019-05-30
  • 上海发布来沪人员就业报告 2019-05-30
  • 新华时评:美逆潮流而动,必将付出代价 2019-05-24
  • 杭州约谈58同城等3家网上房源发布平台负责人 2019-05-24
  • 《典出山西》考试季特辑:“武状元”那些事 2019-05-22
  • 首趟中欧班列整车进口专列抵达西安 2019-05-22
  • 航旅纵横疑似泄露隐私,企业应管好用户信息 2019-05-18
  • 美国防部宣布暂停8月美韩联合军演 2019-05-17
  • 党媒《红网湘乡手机报》是如何做到接地气、聚人气的? 2019-05-17
  • 刘嘉玲:长江后浪一直涌来 2019-05-16
  • 营养-热门标签-华商生活 2019-05-16
  • 昆仑鸿星冰球俱乐部:

    北京 切换校区

    全国24小时免费热线

    400-009-1906

    今日头条加密参数的识别

    时间:2019-03-11   来源:尚学堂   阅读:230

    今日头条有三个加密参数

    先找一个作者的主页,列如:https://www.toutiao.com/c/user/108888017311/#mid=1619989289127939

    然后进去抓包找文章的地址发现:https://www.toutiao.com/c/user/article/?page_type=1&user_id=108888017311&max_behot_time=0&count=20&as=A1459CB8348BDE5&cp=5C849BAD7E75AE1&_signature=9vG.bhAcqn9-xE62aCEsyvbxv3

    里面一共有7个参数,其中?page_type: 1这个不需要变,user_id=108888017311这个是作者的id,count=20,还有这个数量一般不用变。

    剩下的咋们一个个来看,首先max_behot_time=0 咋们可以发现

    这里的第一次参数是0,但是我们也能发现在第一次请求数据成功返回的响应里面

    里面的这个max_behot_time其实是在下次请求的时候使用,这样我们可以一直请求作者之前的文章,每次请求把上一次获得的参数带上就行。

    这是我们下拉获取的第二个数据包,可以看的max_behot_time参数的值就是上一次获取到的响应参数

    然后现在看剩下的as,cp,_signature参数。

    打开全局搜索as可以找到

    其中as,cp的来源来自ascp.getHoney()函数,点击进去

    可以看的这里是生成as和cp参数的地方,他们的生成和当前时间有关。写成python就是

    def getHoney():  
        t = int(time.time())  
        # t=1551971117
        e = str('%X' % t)  
        m1 = hashlib.md5()  
        m1.update(str(t).encode(encoding='utf-8'))  
        i = str(m1.hexdigest()).upper() 
        print(i)
        o = i[0:5]  
        n = i[-5:]  
        a = ''
        r = ''
        for s in range(0, 5):  
            a += o[s] + e[s]
            r += e[s + 3] + n[s]
        eas = 'A1' + a + e[-3:]
        ecp = e[0:3] + r + 'E1'
        print(eas)
        print(ecp)
        return eas, ecp

    接下来我们来看看_signature参数

    来自这个  TAC.sign(userInfo.id + "" + d.params.max_behot_time)

    这个参数加密很繁琐,跟ua指纹有关。

    我想到的破解方法是使用无头的selenium来进入网站然后获取这个参数。

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    class selenium_nign():
        def __init__(self,url=''):
            self.url = url
            driver = webdriver.FirefoxOptions()
            driver.add_argument('-headless')
            self.driver = webdriver.Firefox(firefox_options=driver)
            # driver = webdriver.Firefox()
            self.driver.get(self.url)
        def nign(self,time=0):
            nign = self.driver.execute_script('''return TAC.sign(108888017311+''+'''+str(time)+''')''')
         #通过这里来获取,第一个参数为作者id,第二个参数就是前面讲的max_behot_time参数
            return nign
        def cookie(self,blok=0):
        #这里获取cookie,头条对id也有加密,正常的session获取的会话似乎没办法通过
            if blok:
                self.driver.get(self.url)
            cookies = self.driver.get_cookies()
            cookie = [item['name'] + "=" + item['value'] for item in cookies]
            cookiestr = '; '.join(item for item in cookie)
            return cookiestr
        def sclock(self):
            self.driver.close()

    现在我们就可以运行了,运行结果好像头条会随机才能成功,会甩出一些错误来,这个还没找到。

    相关资讯

    • 北京校区
    • 山西校区
    • 郑州校区
    • 武汉校区
    • 四川校区
    • 长沙校区
    • 深圳校区
    • 上海校区
    • 广州校区
    • 保定招生办

    北京海淀区校区(总部):北京市海淀区西三旗街道建材城西路中腾建华商务大厦东侧二层尚学堂
    北京京南校区:北京亦庄经济开发区科创十四街6号院1号楼 赛蒂国际工业园
    咨询电话:400-009-1906 / 010-56233821
    面授课程:?JavaEE+微服务+大数据? ???大数据+机器学习+平台架构?????Python+数据分析+机器学习??人工智能+模式识别+强化学习???WEB前端+移动端+服务端渲染

     

    山西学区地址:山西省晋中市榆次区大学城大学生活广场万科商业A1座702

    郑州学区地址:河南电子商务产业园6号楼4层407
    咨询电话:0371-55177956

    武汉学区地址:武汉市东湖高新区光谷金融港B22栋11楼
    咨询电话:027-87989193

    四川学区地址:成都市高新区锦晖西一街99号布鲁明顿大厦2栋1003室
    咨询电话:028-65176856 / 13880900114

    网址://www.cssxt.com/
    咨询电话:0731-83072091

    深圳校区地址:深圳市宝安区航城街道航城大道航城创新创业园A4栋210(固戍地铁站C出口)
    咨询电话:0755-23061965 / 18898413781

    上海尚学堂松江校区地址:上海市松江区荣乐东路2369弄45号绿地伯顿大厦2层
    咨询电话:021-67690939

    广州校区地址:广州市天河区元岗横路31号慧通产业广场B区B1栋6楼尚学堂(地铁3号线或6号线到“天河客运站”D出口,右拐直走约800米)
    咨询电话:020-2989 6995

    保定招生办公室

    地址:河北省保定市竞秀区朝阳南大街777号鸿悦国际1101室

    电话:15132423123

    Copyright 2006-2019 北京尚学堂科技有限公司  京ICP备13018289号-19  京公网安备11010802015183  
    媒体联系:18610174079 闫老师  

    Java基础班,免费试学三周

  • 财政部就“财税改革和财政工作”答问 2019-06-21
  • 后伊布时代 北欧海盗能否再扮演“豪门杀手” 2019-06-10
  • 中国宗教研究学者:儒道佛三教关系为世界宗教发展提供新启迪 2019-06-10
  • “六一”特刊丨尤叔叔的安(xìng)全(fú)小课堂 2019-06-05
  • 微信“信用卡还款”3.0版本上线 支持招商银行账单查询 2019-05-30
  • 上海发布来沪人员就业报告 2019-05-30
  • 新华时评:美逆潮流而动,必将付出代价 2019-05-24
  • 杭州约谈58同城等3家网上房源发布平台负责人 2019-05-24
  • 《典出山西》考试季特辑:“武状元”那些事 2019-05-22
  • 首趟中欧班列整车进口专列抵达西安 2019-05-22
  • 航旅纵横疑似泄露隐私,企业应管好用户信息 2019-05-18
  • 美国防部宣布暂停8月美韩联合军演 2019-05-17
  • 党媒《红网湘乡手机报》是如何做到接地气、聚人气的? 2019-05-17
  • 刘嘉玲:长江后浪一直涌来 2019-05-16
  • 营养-热门标签-华商生活 2019-05-16
  • 吉林十一选五预测 袖珍三公主 巴萨巴列卡诺直播 有重庆时时彩网址吗 26选5中5保5 刀塔自走棋英雄图鉴 动物狂欢节音乐剧 安卓部落冲突刷宝石 体彩浙江20选5开奖 王者荣耀赛季 北单总进球奖金计算器 王牌战士测试资格 切沃vs亚特兰大 福彩3d开机号今天查询 重庆时时彩计划定位胆 风暴魔域礼包激活码