|
@@ -5,17 +5,18 @@ import time
|
|
|
from config.using_config import aes_token
|
|
|
from urllib.parse import urlencode
|
|
|
from Crypto.Cipher import AES
|
|
|
+from Crypto.Util.Padding import pad
|
|
|
|
|
|
|
|
|
def get_g_token(g_time, params):
|
|
|
bs = AES.block_size
|
|
|
- pad = lambda s: s + (bs - len(s) % bs) * chr(bs - len(s) % bs)
|
|
|
+ # pad = lambda s: s + (bs - len(s) % bs) * chr(bs - len(s) % bs)
|
|
|
# 设置加密方式
|
|
|
cipher = AES.new(aes_token.encode('utf-8'), AES.MODE_ECB)
|
|
|
# 设置原始数据
|
|
|
pad_params = params + str(g_time)
|
|
|
# 数据加密
|
|
|
- data = cipher.encrypt(pad(pad_params).encode('utf-8'))
|
|
|
+ data = cipher.encrypt(pad(pad_params.encode('utf-8'), bs))
|
|
|
g_token = (base64.encodebytes(data)).decode('utf8').strip()
|
|
|
return g_token
|
|
|
|
|
@@ -61,11 +62,12 @@ def get_auth_channel(user_id):
|
|
|
# 普通权限------java,获取本人对应拥有的公众号
|
|
|
g_time = int(time.time())
|
|
|
base_url = 'https://api.zanxiangnet.com'
|
|
|
- params = '/erp/api/resource/search/3'
|
|
|
+ params = f'/erp/api/resource/subUserResourceList/3/{user_id}/投手,运营'
|
|
|
g_token = get_g_token(g_time, params)
|
|
|
params_other_urlencode = urlencode({'g_time': g_time, 'g_token': g_token})
|
|
|
- params_other = f'?userIds={user_id}'
|
|
|
- url = base_url + params + params_other + '&' + params_other_urlencode
|
|
|
+ # 防止urlencode自动换行
|
|
|
+ params_other_urlencode = params_other_urlencode.replace('%0A', '')
|
|
|
+ url = base_url + params + '?' + params_other_urlencode
|
|
|
rsp = requests.get(url)
|
|
|
channel_list = rsp.json()['data']
|
|
|
data1 = []
|