今日頭條加密引數的識別

2022-06-14 18:12:13 字數 2937 閱讀 7704

今日頭條有三個加密引數

先找乙個作者的主頁,列如:

然後進去抓包找文章的位址發現:

裡面一共有7個引數,其中 page_type: 1這個不需要變,user_id=108888017311這個是作者的id,count=20,還有這個數量一般不用變。

剩下的咋們乙個個來看,首先max_behot_time=0 咋們可以發現

這裡的第一次引數是0,但是我們也能發現在第一次請求資料成功返回的響應裡面

這是我們下拉獲取的第二個資料報,可以看的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

byfrom 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獲取的會話似乎沒辦法通過

ifblok:

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

defsclock(self):

self.driver.close()

現在我們就可以執行了,執行結果好像頭條會隨機才能成功,會甩出一些錯誤來,這個還沒找到,希望有大佬知道能告訴我。

今日頭條 今日頭條三面面經

一面 1 演算法題,程式設計實現nsum 2 實現元素的居中並且寬高比為3 4 3 實現繼承 4 給了一段 給出輸出結果,這個是和非同步相關 5 http的狀態碼有哪些 6 cookie和session的區別,以及如何生成session 7 給 寫輸出和原型鏈相關 8 變數宣告提公升 三面 1 介紹...

今日頭條筆試

問題描述 給定乙個段落,由 n 個句子組成。第 i 個句子的長度為 l i 包含的單詞個數為 w i 句子不包含任何除字母和空格 外的符號。每個句子內部,含有若干個單詞,由空格 分隔。句子不會包含連續的空格。隨後給定 m 個查詢,每個查詢包含乙個句子,需要在段落中尋找相同單詞數量最多的句子。重複的單...

今日頭條emmmmmmm

迭代器的用處就是重複的運作一道一百,像乙個家庭爺爺生了爸爸才能有孫子。這個迭代器級別非常關鍵斷了乙個也不行!迭代器 只要 iter 方法的物件就是迭代物件 字串,列表,元祖,字典,集合,檔案都可迭代物件!next 其實是在遍歷可迭代物件的元素,一遍完成報錯。迭代器 是擁有 iter 方法,迭代物件擁...