C# 解析迅雷链接成正常的Http链接

目前热门剧司马懿第一集的迅雷下载地址是:

thunder://QUFodHRwOi8vZGwxMjIuODBzLmltOjkyMC8xNzA2L1vlpKflhptTU+mprOaHv+S5i+WGm1PogZRNXeesrDAx6ZuGL1vlpKflhptTU+mprOaHv+S5i+WGm1PogZRNXeesrDAx6ZuGX2JkLm1wNFpa

去掉thunder://之后是

QUFodHRwOi8vZGwxMjIuODBzLmltOjkyMC8xNzA2L1vlpKflhptTU+mprOaHv+S5i+WGm1PogZRNXeesrDAx6ZuGL1vlpKflhptTU+mprOaHv+S5i+WGm1PogZRNXeesrDAx6ZuGX2JkLm1wNFpa

将其以Base64解码后是

AAhttp://dl122.80s.im:920/1706/[大军SS马懿之军S联M]第01集/[大军SS马懿之军S联M]第01集_bd.mp4ZZ

去掉前缀AA,后缀ZZ是

http://dl122.80s.im:920/1706/[大军SS马懿之军S联M]第01集/[大军SS马懿之军S联M]第01集_bd.mp4

这些处理都比较简单,写成代码是:

   class XunleiLinkParser
    {
        public String parse(String link)
        {
            String retval = "";

            retval = link.Substring(10);// 去掉thunder://
            
            retval = DecodeBase64("utf-8",retval);

            retval = retval.Substring(2, retval.Length - 4);// 去掉前面的AA后面的ZZ


            return retval;
        }

        public static string DecodeBase64(string code_type, string code)
        {
            string decode = "";
            byte[] bytes = Convert.FromBase64String(code); //将2进制编码转换为8位无符号整数数组.   
            try
            {
                decode = Encoding.GetEncoding(code_type).GetString(bytes); //将指定字节数组中的一个字节序列解码为一个字符串。   
            }
            catch
            {
                decode = code;
            }
            return decode;
        }

    }

测试语句如下:

        static void Main(string[] args)
        {
            XunleiLinkParser x = new XunleiLinkParser();
            System.Console.WriteLine(x.parse("thunder://QUFodHRwOi8vZGwxMjIuODBzLmltOjkyMC8xNzA2L1vlpKflhptTU+mprOaHv+S5i+WGm1PogZRNXeesrDAx6ZuGL1vlpKflhptTU+mprOaHv+S5i+WGm1PogZRNXeesrDAx6ZuGX2JkLm1wNFpa"));
        }

2017年6月29日16:31:57

原文地址:https://www.cnblogs.com/heyang78/p/7095201.html