这里说的是详情页的加密,这里可以看到在源码中的url
当时还以为自己请求错了,然后发现在浏览器中打开发现1249这四个数字变成了一大串字符
如果你在详情页源码里点击url的时候他就会显示
当时自己也去翻了一些笔记,html里面找,最后好像找到了一个window 什么 传了一个1的参数,
具体在哪看的给忘了
然后就去解密
下面是代码
from Crypto.Cipher import AES
import base64
def add_to_16(s):
while len(s) % 16 != 0:
s += (16 - len(s) % 16) * chr(16 - len(s) % 16)
return str.encode(s) # 返回bytes
def get_secret_url(text, key='qnbyzzwmdgghmcnm'):
aes = AES.new(str.encode(key), AES.MODE_ECB) # 初始化加密器,本例采用ECB加密模式
encrypted_text = str(base64.encodebytes(aes.encrypt(add_to_16(text))), encoding='utf8').replace('\n', '') # 加密
encrypted_text = encrypted_text.replace('/', "^").replace("^",'%') # ddd.replace(/\//g, "^")
return encrypted_text[:-2]
def get_real_url(first_url):
aa = first_url.split('/')
aaa = len(aa)
bbb = aa[aaa - 1].split('.')
ccc = bbb[0]
secret_text = get_secret_url(ccc)
return first_url.replace(ccc, secret_text)
# url = 'http://103.83.4xxxxxx/xxxx/xxxxx/1186.jhtml'
# key = 'qnbyzzwmdgghmcnm' # 此处问加密key值
# url = get_real_url(url)
# print(key)
# print(url)
到最后他会把你从详情页的url转换为你想要的了