真实、迅雷、QQ旋风下载地址转换

#!/usr/bin/env python  
# -*- coding: utf-8 -*-  
# 真实、迅雷、QQ旋风下载地址之间的转换  
import base64  
import urllib  
import re  
      
__Author__ = "kingking"    
      
''' 
原理: 
迅雷下载地址:"thunder://"+Base64编码("AA"+"真实地址"+"ZZ") 
QQ旋风下载地址:"qqdl://"+Base64编码("真实地址") 
 '''
#############  
# 常量定义区 #  
#############  
THUNDER_HEADER = "thunder://"  
THUNDER_PREFIX = "AA"  
THUNDER_SUFFIX = "ZZ"  
QQ_HEADER = "qqdl://"  
ERROR = "传入的URL有误,请检查!"  
      
# 判断url是否有效  
def checkUrl(func):  
    def wrapper(url):  
        if re.match(r"(http|https|ftp|ed2k|thunder|qqdl)://", url):  
            return func(url)  
        else:  
            return ERROR  
    return wrapper  
     
   
def real2QQ(url):  
    url = base64.b64encode(url.encode("utf-8"))  
    url = QQ_HEADER + url.decode("utf-8")  
    return url  
     
   
def qq2Real(url):  
    url = url[len(QQ_HEADER):]  
    url = base64.b64decode(url.encode("utf-8"))  
    url = url.decode("utf-8")  
    return url  
     
 
def real2Thunder(url):  
    url = THUNDER_PREFIX + url + THUNDER_SUFFIX  
    url = base64.b64encode(url.encode("utf-8"))  
    url = THUNDER_HEADER + url.decode("utf-8")  
    return url  
     
  
def thunder2Real(url):  
    url = url[len(THUNDER_HEADER):]  
    url = base64.b64decode(url.encode("utf-8"))  
    url = url.decode("utf-8")  
    url = url[len(THUNDER_PREFIX):-len(THUNDER_SUFFIX)]  
    return url  
     
  
def qq2Thunder(url):  
    return real2Thunder(qq2Real(url))  
     

def thunder2QQ(url):  
    return real2QQ(thunder2Real(url))  
      
      
if __name__ == "__main__":  
    # 测试用,SuperGirl第一季第2集下载地址:  
    url_1 = r'ed2k://|file|Supergirl.S01E02.720p.HDTV.X264-DIMENSION.mkv|947617048|5D430BBD720C13598D867C3424B50B8D|h=2AG3ZXRLCWNGC4K5WFNC4QOMVDSXWBBM|/'  
    url_2 = r'd2k://|file|Supergirl.S01E02.720p.HDTV.X264-DIMENSION.mkv|947617048|5D430BBD720C13598D867C3424B50B8D|h=2AG3ZXRLCWNGC4K5WFNC4QOMVDSXWBBM|/'
    url = 'thunder://QUFmdHA6Ly95Z2R5ODp5Z2R5OEB5ZzQ1LmR5ZHl0dC5uZXQ6NjAwNC9bJUU5JTk4JUIzJUU1JTg1JTg5JUU3JTk0JUI1JUU1JUJEJUIxd3d3LnlnZHk4LmNvbV0uJUU2JTgyJTlGJUU3JUE5JUJBJUU0JUJDJUEwLkhELjcyMHAuJUU1JTlCJUJEJUU4JUFGJUFEJUU0JUI4JUFEJUU1JUFEJTk3Lm1rdlpa'
    print(real2QQ(url_1))  
    print(thunder2QQ(real2Thunder(url_1)))  
    print(real2QQ(url_2))
    print(thunder2Real(url))

根据引用\[1\]中的代码,可以使用以下PHP函数将迅雷连接转换为URL地址: ```php function ThunderToUrl($thunderUrl) { $url = base64_decode(substr(trim($thunderUrl), 10, -2)); return substr($url, 2, -2); } ``` 使用该函数,你可以将迅雷连接作为参数传入,然后得到对应的URL地址。例如,如果你有一个迅雷连接`thunder://QUFodHRwOi8vZXhhbXBsZS5jb20vZG93bmxvYWQuemlw`,你可以调用`ThunderToUrl`函数来将其转换为URL地址: ```php $thunderUrl = 'thunder://QUFodHRwOi8vZXhhbXBsZS5jb20vZG93bmxvYWQuemlw'; $url = ThunderToUrl($thunderUrl); echo $url; ``` 输出结果将是`http://example.com/download.zip`,这就是将迅雷连接转换为URL地址的方法。 #### 引用[.reference_title] - *1* [迅雷thunder://地址与普通url地址转换](https://blog.csdn.net/yazi1297/article/details/45601795)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [php实现把url转换迅雷thunder资源下载地址的方法](https://blog.csdn.net/weixin_32752813/article/details/116412259)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [PHP迅雷/快车/QQ旋风下载地址与普通URL链接互转](https://blog.csdn.net/weixin_29924243/article/details/116173237)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Louistinda

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值