unquote quote urlencode 对url进行加解密编码

以谷歌某链接为例:

from urllib.parse import unquote
from urllib.parse import quote
from urllib.parse import urlencode


def jiemi(url):
    url2 = unquote(url)

    key = 'req='

    jiami = quote(url2[url2.find(key) + len(key):]).replace('/', '%2F')
    url3 = url2[:url2.find(key)+len(key)] + jiami


    # a = {"comparisonItem":[{"keyword":"/m/0ckhqlx","geo":"","time":"2022-01-01+2022-07-01"}],"category":0,"property":""}
    # print(a)
    # url4 =  url2[:url2.find(key)+len(key)] + urlencode(a) + "&tz=-480"  # 对字典加密
    # 这样代码应该是google
    url3 = url3.replace("""%3A""", ':').replace("""%2C""", ',').replace("""%2B""", '+').replace("""%3D""", '=').replace("""%26""", '&')

    print("加解密前后数据是否相等", url3 == url)
    return url2


def jiami(url2):
    key = 'req='
    jiami = quote(url2[url2.find(key) + len(key):]).replace('/', '%2F').replace("""%3A""", ':').replace("""%2C""", ',').replace("""%2B""", '+').replace("""%3D""", '=').replace("""%26""", '&')
    url3 = url2[:url2.find(key)+len(key)] + jiami
    # a = {"comparisonItem":[{"keyword":"/m/0ckhqlx","geo":"","time":"2022-01-01+2022-07-01"}],"category":0,"property":""}
    # print(a)
    # url4 =  url2[:url2.find(key)+len(key)] + urlencode(a) + "&tz=-480"  # 对字典加密
    return url3

if __name__ == '__main__':
    url = "https://trends.google.com/trends/api/explore?hl=zh-CN&tz=-480&req=%7B%22comparisonItem%22:%5B%7B%22keyword%22:%22%2Fm%2F0ckhqlx%22,%22geo%22:%22%22,%22time%22:%222022-01-01+2022-07-01%22%7D%5D,%22category%22:0,%22property%22:%22%22%7D&tz=-480"
    url2 = jiemi(url)
    url3 = jiami(url2)
    print(url)
    print(url2)
    print(url3)
    print(url == url3)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值