啟信寶的每一個(gè)API的header都包含的了一個(gè)加密的header key和value,用于反爬蟲(chóng)缘挑,校驗(yàn)氮惯,每個(gè)請(qǐng)求的key不同,同一個(gè)請(qǐng)求不同的參數(shù)value也不同赦役。
如下圖所示:
image.png
import requests
url = "https://www.qixin.com/api/enterprise/getPagingRiskInfo"
payload = "{\"eid\":\"b4c69da8-b346-401f-a131-c03f953da9db\",\"type\":4,\"page\":2,\"hit\":5}"
headers = {
'Content-Type': "application/json",
'Cache-Control': "no-cache",
# 'fffc6101e531088e4277': "3e2c683b41794cc9437cd50adc9eceb271e39e045739e7260dc0cdfebf3bb7646f8c1773b5a6618460a5e2c2fb960f5a46ee1d246f53b0f16876e20597d4a4b7",
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
上面代碼執(zhí)行麻敌,則會(huì)返回500錯(cuò)誤,如果不注釋fffc6101e531088e4277
則會(huì)成功掂摔。
經(jīng)研究后术羔,終于從4萬(wàn)行js代碼中破解了該加密算法的詳情和步驟。