import requests from Crypto.Cipher import AES from base64 import b64encode url="" resp=requests.post(url) #print(resp.text) data={ "csrf_token":"", "cursor":"-1", "offset":"0", "orderType":"1", "pageNo":"1", "pageSize":"20", "rid":"R_SO_4_1913478990", "threadId": "R_SO_4_1913478990" } f = "5280104e0300e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf6912ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7" g = "0CoJUm6Qyw8W8jud" e = "010001" i = "EHY8ubopgwjbhlx0" def seckey(): return "41ac06ccdff727076c9d6bd85217d8adfd71c79c1b16523387951f34ba2bf8ebc8400e88e5a444bc9c53a6f7d4579b12e9d76782b66836e32e5fa4ab621e24036148c142792e6ac5245a52de7f98b1fc33f384aacf5a619c3937878a3333965221797894681f6a187e94d6e627e67d74f9de560dec7e7c97d66fb8f2e62a103d" '''#加密过程 function a(a) { var d, e, b = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", c = ""; for (d = 0; a > d; d += 1) e = Math.random() * b.length, e = Math.floor(e), c += b.charAt(e); return c } function b(a, b) { var c = CryptoJS.enc.Utf8.parse(b) , d = CryptoJS.enc.Utf8.parse("0102030405060708") , e = CryptoJS.enc.Utf8.parse(a) , f = CryptoJS.AES.encrypt(e, c, { iv: d, mode: CryptoJS.mode.CBC }); return f.toString() } function c(a, b, c) { var d, e; return setMaxDigits(131), d = new RSAKeyPair(b,"",c), e = encryptedString(d, a) } function d(d, e, f, g) { var h = {} , i = a(16); return h.encText = b(d, g), h.encText = b(h.encText, i), h.encSecKey = c(i, e, f), h } function e(a, b, d, e) { var f = {}; return f.encText = c(a + e, b, d), f }''' # d e '010001' f '5280104e0300e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf6912ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7' # g '0CoJUm6Qyw8W8jud' def get_params(data):#默认收到的是字符串 first= params(data,a) sec=params(first,i) return sec def to_16(): pad=16-len(data)%16 data += chr(pad)*pad return data def params(data,key): data = to_16(data) aes = AES.new(key=key.encode("utf-8"), IV="0102030405060708".encode("utf-8"), mode=AES.MODE_CBC) bs=aes.encrypt(data) return str(b64encode(bs),"utf-8") pass res=requests.post(url,data={ "params": get_params(json.dumps(data)), "seckey()":seckey() })
学习爬虫第十三天
最新推荐文章于 2024-07-13 10:40:22 发布