C# 淘宝商品微信返利助手开发-(四)返利助手开发(2)淘宝分享的内容如何只取淘口令

系列教程一目录:返利助手原理

系列教程二目录:返利助手开放文档以及帐号申请地址

系列教程三目录:返利助手开发(1)API介绍

系列教程四目录:返利助手开发(2)淘宝分享的内容如何只取淘口令

系列教程五目录:返利助手开发(3)淘口令如何通过API转换为链接

系列教程六目录:返利助手开发(4)如果通过淘口令解析的出来的地址获得返利信息

系列教程七目录:返利助手开发(5)如何将优惠券地址转为淘口令

系列教程八目录:微信号对接

系列教程九目录:编写一个vue页面用于复制淘口令

系列教程十目录:其他

#淘宝分享的内容如何只取淘口令

在我们淘宝点击分享的时候我们可以考到复制得到的内容如下所示
淘口令.png

𫄭置这行话¢kNuO1SLwyXz¢转移至τаo宝аρρ【三元方白纯牛奶250ml*24盒火遍帝都生牛乳制造】;或https://m.tb.cn/h.V4h013w?sm=9aa805 点几链→接,再选择浏..览●噐○dakai

其中的 ¢kNuO1SLwyXz¢ 就是淘口令了,但是这么长一段字符混杂有中文英文特殊符号我们如何只取到淘口令拿去接口解析数据呢,方法当然是有的,我们可以通过正则表达式来验证之后取到固定的值
其中的正则 [A-Za-z0-9]{11}表示为:11个字符串,字母范围在a-z和 0-9 之间
而且我们通过找规律可以得到淘口令一般都是13位的字符串第一个和最后一个是特殊符号中间是字母
具体方法如下:

 //验证是否包含淘宝口令 并返回淘口令值
        public static string findTkl(string input)
        {
            int len = 0;
            string regTkl = @"[a-zA-Z0-9]{11}";//验证11位随机字符串
            len = input.Length;
            if (len < 13)
            {
                return "";
            }
            for (int i = 0; i < len - 12; i++)
            {
                string st = input.Substring(i, 1);
                string et = input.Substring(i + 12, 1);
                string token = input.Substring(i + 1, 11);
                if (((st == et) || (st == "(" && et == ")") || (st == "(" && et == ")") || (st == "[" && et == "]")) && Regex.IsMatch(token, regTkl))
                {
                    return st + token + et;
                }

                bool s = Regex.IsMatch(token, regTkl);
            }
            return "";
        }

封装好方法过后我们到时候就可以通过直接传值过来得到淘口令的值了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章