python将下载地址转换成迅雷和qq旋风的下载地址

迅雷和qq旋风下载,有加速和离线功能,很方面,我是在网上看到的原始地址和迅雷地址,qq旋风地址的转化原理,然后用python+pyqt写了一个客户端

原理:

迅雷: 迅雷下载地址="thunder://"+Base64编码("AA"+"真实地址"+"ZZ")

QQ旋风: qqdl="qqdl://"+Base64编码("真实地址")

import re
import base64
from PyQt4 import QtGui,QtCore
import os
import sys

class Window(QtGui.QWidget):
    def __init__(self):
        QtGui.QWidget.__init__(self)

        self.linklabel=QtGui.QLabel(‘link:‘,self)
        self.link=QtGui.QLineEdit(self) 

        self.thunderlabel=QtGui.QLabel(‘Thunder:‘,self)
        self.thunder=QtGui.QLineEdit(self)

        self.qqdllabel=QtGui.QLabel(‘qqdl‘,self)
        self.qqdl=QtGui.QLineEdit(self)

        transbutton=QtGui.QPushButton(‘Transition‘,self)

        grid=QtGui.QGridLayout()
        grid.addWidget(self.linklabel)
        grid.addWidget(self.link)
        grid.addWidget(self.thunderlabel)
        grid.addWidget(self.thunder)
        grid.addWidget(self.qqdllabel)
        grid.addWidget(self.qqdl)
        grid.addWidget(transbutton)

        self.resize(500,200)
        self.setLayout(grid)
        self.setWindowTitle(‘Transition  by loster v0.1‘)

        self.connect(transbutton,QtCore.SIGNAL(‘clicked()‘),Trans)

    def getUrl(self):
        return self.link.text()
    def setThunder(self,url):
        self.thunder.setText(url)
    def setQQDL(self,url):
        self.qqdl.setText(url)
    def setError(self,warning):
        QtGui.QMessageBox.warning( self, "Transition", warning, QtGui.QMessageBox.Yes )

def Trans():
    #获得链接
    url=main.getUrl()
    print ‘url:‘+url
    if CheckUrl(url):
        main.setThunder(Url2Thunder(url))
        main.setQQDL(Url2QQdl(url))
    else:
        main.setError(‘Invalid link,Please try again‘)

#判断url是否有效
def CheckUrl(url):
    if re.match(‘(http|https|ftp|ed2k)://‘, url):
        return True
    else:
        return False

#转化成迅雷下载地址
def Url2Thunder(url):
    url=‘AA‘+url+‘ZZ‘
    url = base64.b64encode(url)
    url = ‘thunder://‘ + url
    print ‘thunder:‘+url
    return url

#转换成qq旋风下载地址
def Url2QQdl(url):
    url = base64.b64encode(url)
    url = ‘qqdl://‘ + url
    print ‘QQDL:‘+url
    return url

if __name__==‘__main__‘:
    app=QtGui.QApplication(sys.argv)
    main=Window()
    main.show()
    sys.exit(app.exec_())

源码下载:https://github.com/iloster/UrlTransition

python将下载地址转换成迅雷和qq旋风的下载地址,布布扣,bubuko.com

时间: 2024-10-07 06:47:09

python将下载地址转换成迅雷和qq旋风的下载地址的相关文章

python如何将字符串转换成json的几种办法

python如何将字符串转换成json的几种办法 最近在工作中遇到了一个小问题,如果要将字符串型的数据转换成dict类型,我第一时间就想到了使用json函数.但是里面出现了一些问题 1.通过json来转换: In [1]: import json In [2]: mes = '{"InsId": 2, "name": "lege-happy", "CreationTime": "2019-04-23T03:18:02

IP地址转换成Long型数字的算法

在应用程序开发中,涉及到IP地址的存储,大部分开发人员都将其存为String(或文本类型).能否将固定格式为m.n.x.y的IP地址转换成 Long型的数字呢?答案是肯定的.在数据库层面,可以直接将结果设置成表的主键,避免IP地址的重复,因为是主键,也就是表的索引了,数据库查找时会更 快. 对于格式为m.n.x.y的IP地址,转换成Long型数字的算法如下: view plain   copy Long  =  * 256 * 256 * m + y 使用Java语言,则这样实现: view p

转换成流字节,输出浏览器下载

//转换成流字节,输出浏览器下载var byti = file.SaveToStream().GetBuffer(); ////通知浏览器保存文件,其实也就是输出到浏览器Response.Clear();Response.ContentType = "application/octet-stream";Response.AppendHeader("Content-Disposition", "attachment;filename=" + fil

F5 cookie值与IP地址(二):将IP地址转换成F5 cookie值

简  介 在上一篇中,我们介绍了如何将cookie码转换成IP地址,这次我们将介绍如何将IP地址转换成cookie码.如何上一篇分析清楚了,本篇也很简单. 链接:http://showing.blog.51cto.com/11976328/1841564 转换步骤 下面,我们将以IP地址:192.168.1.1为例: 192.168.1.1->倒置顺序->1 1 168 192->分别转换为16进制->1 1 A8 C0->不够两位的补0->01 01 A8 C0-&g

ip地址转换成16进制long

<span style="font-size:18px;">public class IpUtil { /** * ip地址转换成16进制long * @param ipString * @return */ public static Long ipToLong(String ipString) { Long[] ip = new Long[4]; int pos1= ipString.indexOf("."); int pos2= ipString.

C#获取QQ旋风的下载记录

1 /* 2 * 用户:从前的我 3 * 日期:2015/8/26 4 */ 5 using System; 6 using System.IO; 7 8 namespace GetXf 9 { 10 class Program 11 { 12 public static void GetXfDownloadRecords() 13 { 14 //Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)获取“AppD

python入门:UTF-8转换成GBK编码

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #UTF-8转换成GBK编码 4 #temp(临时雇员,译音:泰坡) 5 #decode(编码,译音:迪口德) 6 #encode(编码,译音:因口德) 7 #原理就是爸UTF-8转换成万国码,再给万国码进行编码转换成GBK,在python 2.x里面这么用 8 """ 9 给变量temp赋值等于'李杰'是UTF-8编码! 10 变量temp_unicode的赋值等于temp

python 将类对象转换成json

如果将字典转换成json,想必都很熟悉了,如果在进阶点,将class类转换成json对象该如何操作了? 1,先定义一个类 #定义一个Student类 class Student(object): def __init__(self,name,age,score): self.name = name self.age = age self.score = score 2,在实例化Student类,传入3个参数 #实例化这个对象 s = Student('hello',20,80) 3,利用json

Python 字符串类型列表转换成真正列表类型

我们在写代码的过程中,会经常使用到for循环,去循环列表,那么如果我们拿到一个类型为str的列表,对它进行for循环,结果看下面的代码和图: str_list = str(['a','b','c']) for row in str_list: print(row) 结果: 那么for循环就把str类型的列表的每一个字符都一个一个的循环的打印出来,而这个结果并不是我们想要的,那么如何解决这个问题?,使用到第三方模块,看下面的代码 from ast import literal_eval # 假设拿