系列教程四目錄:返利助手開發(2)淘寶分享的內容如何只取淘口令
系列教程五目錄:返利助手開發(3)淘口令如何通過API轉換爲鏈接
系列教程六目錄:返利助手開發(4)如果通過淘口令解析的出來的地址獲得返利信息
系列教程七目錄:返利助手開發(5)如何將優惠券地址轉爲淘口令
#淘寶分享的內容如何只取淘口令
在我們淘寶點擊分享的時候我們可以考到複製得到的內容如下所示
緮置這行話¢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 "";
}
封裝好方法過後我們到時候就可以通過直接傳值過來得到淘口令的值了