知乎模擬登錄signature Python演算法實現

上次說要分享下的,結果過個年全忘了,現在來填坑。

先上代碼, Python 2.7

#!/usr/bin/env python#-*- coding:utf-8 -*- #Author: Chenimport sysreload(sys)sys.setdefaultencoding(utf-8)from hashlib import sha1import hmacfrom time import timedef get_signal(time_stamp): """ 傳入一個時間戳 :param time_stamp: :return: signature """ a = hmac.new("d1b964811afb40118a12068ff74a12f4", digestmod=sha1) # HMAC key a.update("password") # 固定字元串 a.update("c3cef7c66a1843f8b3a9e6a1e3160e20") # clienId a.update("com.zhihu.web") # 固定字元串 a.update(time_stamp) # timeStamp return a.hexdigest()

原理並不難,要熟悉js調試就問題不大。

首先獻上Fiddler的抓包截圖

client_id 固定值

signature 動態生成

其他的參數除了用戶名,密碼都是固定的值,不加以討論。

本來是應該把調試過程也寫上來的,但是晚上還有事,等有機會再填坑吧 - -

相關技術可以參考

Python 爬蟲如何獲取 JS 生成的 URL 和網頁內容?www.zhihu.com圖標python hmac-sha1加密實現outofmemory.cn


推薦閱讀:

windows7設置印表機共享
調試程序時,設置斷點的原理是什麼?
人人都可以製作的三種基礎外掛教程(附GitHub源碼)
一次被攻擊的體驗
右鍵菜單 添加新的 文件對象關聯菜單

TAG:爬蟲計算機網路 | Python | 計算機 |