分享给微信好友的淘宝乱码中隐藏了什么秘密

马上要过生日了,我尝试在淘宝找到了自己喜欢的同款礼物,点击右上角分享到她的微信,看她能不能读懂我的小心思。这个分享的过程涉及到一段“乱码”(淘口令,后续均以淘口令来称呼),可别小看这段淘口令,它包含了很多信息。今天主要就是分享一下为什么淘宝分享出来的内容是淘口令?淘口令包含了什么信息?以及解析这段工具是怎么制作的。

这是一个系列文章,涉及淘客工具的使用与制作,后续陆续会完成一个整套系列工具的开发,欢迎收藏关注看整个系列。文中可能涉及到链接信息,仅仅只是做程序解释演示使用,并不能直接达到具体商品地址。图片上的二维码地址已做马赛克处理。

为什么是乱码(淘口令)

对于下面这段从淘宝分享出来的文字,你除了能看懂中括号里面的问题,其它的文字是不是也能猜出个八九不离十?这段所谓的乱码文字就是淘口令。

【手撕素肉豆腐干100包素牛排整箱小包装麻辣条休闲好吃不贵的零食】點ゞ撃°鏈ㄣ接,再选择瀏覽●噐○咑№亓;或復ず■淛这句话¢HvpZYBM7U6D¢后咑閞??淘灬寳??

微信对于分享有很多限制,有了限制我们可以不被太多的分享信息打扰。有了限制我们就需要认识上面类似火星文的乱码,乱码为什么微信就限制不了了呢?其实也是可以限制的,在去年有一段时间就有淘客反馈,淘口令也被限制分享了。但是对于聊天内容这个还是比较容易误伤。

淘口令中有什么

上述一段文字你认识或者不认识的汉字或者符号其实都是修饰文字,里面的关键信息只有“¢HvpZYBM7U6D¢”这一句淘口令才是关键信息,这个类似与链接,其实也可以叫短链接。淘口令中首先会对应出商品链接,商品标题等信息都可以查询出来,这里我们用代码来识别一下这个淘口令。看一下代码怎么写?

const { TopClient: ApiClient } = require('./lib/api/topClient.js'); // 官方可以下载到 SDK

/**
 * 按照自己的实际情况配置 KEY SECRET
 */
const client = new ApiClient({
    'appkey': APP_KEY,
    'appsecret': APP_SECRET,
    'REST_URL': 'http://gw.api.taobao.com/router/rest'
});

const tpwdQuery = tpwd => {
    return new Promise((resolve, reject) => {
        client.execute('taobao.wireless.share.tpwd.query', {
            'password_content': tpwd
        }, (err, response) => {
            if (!err) {
                resolve(response)
            } else {
                reject(err);
            }
        })
    })
}

tpwdQuery('¢HvpZYBM7U6D¢')
    .then(res => {
        /**
         * content: 商品标题
         * native_url: 淘宝Schema地址
         * pic_url: 商品主图
         * thumb_pic_url: 商品主图缩略图
         * url: 商品链接(非商品原始链接)
         */
        console.log(res);
    })

通过代码解析我们可以看到能拿到商品的图片链接和标题图片,但是这里的商品链接不是最原始链接。上面这个链接解析出来得到的是一个可以内部券的链接,通过这个解析得到的链接可以领取一张优惠券。这里我们主要讲述的不是领券,而是要继续解析得到的参数内容,看怎么得到商品原始链接。

要得到原始链接我们需要模拟请求一下淘口令解析出来的 url。这里我们使用了 sdk 中用的 request 包。


const request = require('request');

/**
 * 模拟请求获得商品详情链接
 */
function getDetailUrl(url, referer) {
    let options = {
        url,
        headers: {
            'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
        }
    }
    referer && (options.headers.Referer = referer);
    return new Promise((resolve, reject) => {
        request(options, (err, response) => {
            if (!err) {
                resolve(response)
            } else {
                reject(err);
            }
        })
    })
}

/**
 * 获取原始链接 https?://detail(\.m)?\.taobao|tmall\.com
 */

const getOriginUrl = tpwd => {
    return tpwdQuery(tpwd)
        .then(response => {
            // 通过解析淘口令的URL再继续解析获得商品本身地址
            return getDetailUrl(response.url)

        })
        .then(response => {
            const url = response.request.uri.href;
            // s.click 地址
            if (/s\.click\./.test(url)) {
                try {
                    const nextUrl = response.body.match(/(?<=var real_jump_address = ').*(?=')/)[0].replace(/amp;/g, '');
                    return getDetailUrl(nextUrl, url)
                        .then(response => {
                            return response.request.uri.href;
                        });
                } catch (e) {
                    return Promise.reject(e);
                }
            }
            return url;
        })
        .then(url => {
            return url;
        })

}

getOriginUrl('¢HvpZYBM7U6D¢')
    .then(res => {
        console.log(url); // 这里呢到的就是商品的原始链接了
    })

上面的代码中存在一个问题,就是对于 uland.taobao.com 的解析不能直接拿到商品信息,这个里面存在的信息后续在制作另外一个工具的时候再具体讲解,这里暂时只是做普通淘口令以及非领券淘口令的解析。

工具有什么用途

局部功能是我们解析了淘口令得到了商品链接,整理功能是我们通过商品链接再进行一次定向查询就可以得到这个商品是否存在内部券以及返利信息,这也就是我为什么做工具,如果你正在研究工具制作,或者你正在寻找适合自己的自动化推广工具,或者你想使用工具,可以通过下面图片上的演示地址来体验今晚我们的开发的工具。

后续计划

后续我们要介绍如果通过商品链接自动化查询优惠信息,对于普通用户的你可以了解这个过程是怎么来的,对于开发者来说可以借鉴里面的思想来实现一个自己的工具。感兴趣的你可以点击关注或者收藏,定期更新后续制作过程。

原文地址:https://www.cnblogs.com/unofficial/p/12014118.html

时间: 2024-08-29 08:51:58

分享给微信好友的淘宝乱码中隐藏了什么秘密的相关文章

请问android使用友盟分享,分享到微信好友和朋友圈详细步骤是什么,我现在分享之后没结果。

============问题描述============ 请问android使用友盟分享,分享到微信好友和朋友圈详细步骤是什么,我现在分享之后没结果.弹出来图片大小超过32kb,然后分享中 就没反应了 ============解决方案1============ 引用 楼主 zpq19870824 的回复: 请问android使用友盟分享,分享到微信好友和朋友圈详细步骤是什么,我现在分享之后没结果.弹出来图片大小超过32kb,然后分享中 就没反应了 我也不知道,帮你顶一下吧...

分享到微信好友或朋友圈

这周末学习了如何将图片,文本,分享到微信好友或者是朋友圈,自己亲手敲了一把.结果一个bug让我很不爽.待会来谈谈bug是什么. 好了,写代码之前必须做这几件事情.在微信开发者网站上注册账号,填写app名称,包名,应用签名.第三个应用签名本以为自己随便写一个,其实不然,需要下载签名生成工具,然后安装到手机上(此为我的愚蠢Bug,后来看微信官网才解决了),还需要下载Android开发工具包,里面有个jar包需要导入到Android Studio中.注意,申请ok后会展示: 下面演示下Demo: 先来

手机淘宝推荐中的排序学习

原文:http://yq.aliyun.com/articles/122?spm=0.0.0.0.oL8bTY 周梁:淘宝推荐机器学习技术专家,中国科学院自动化研究所机器学习博士,主要研究工作方向是机器学习.大规模并行算法优化.先后从事过广告CTR预估,MPI机器学习平台搭建,手淘个性化推荐等多方面工作. 排序学习是推荐.搜索.广告的核心问题.在手机淘宝的推荐场景中,受制于展示空间的限制,排序学习显得尤为重要.在淘宝,如何从十亿的商品中,挑选出用户 今天喜欢的商品,也是个巨大的挑战. 本次我们分

淘宝运营中需注意哪些问题_简图电商

淘宝运营中需注意的一些细节 很多人在运营的过程中有一些小小的错误自己却没有发觉到,却在这个陷阱中很难爬起来.下面简图电商给大家介绍的是一些大家在运营过程中常常容易想错的细节,可定能帮助到大家! 1.拍下到支付转化率,是不是越高越好? 现在很多客单价高的行业,都会建立自己店铺的每天咨询未付款客户id的表格,然后会有后续员工跟进催付,以此来提高销售额.所以,贾真做顾问的家具店支付转化率高达以上80%以上,并且引以为傲. 然后,昨天听某知名家具电商的运营分享,因为家具客单价高,做决定往往要夫妻共同拍板

飞流直下的精彩 -- 淘宝UWP中瀑布流列表的实现

在淘宝UWP中,搜索结果列表是用户了解宝贝的重要一环,其中的图片效果对吸引用户点击搜索结果,查看宝贝详情有比较大的影响.为此手机淘宝特意在搜索结果列表上采用了2种表现方式:一种就是普通的列表模式,而另一种则是突出宝贝图片的瀑布流模式. 如果用户搜索某些关键字,如女装类的情况下,淘宝的搜索结果会自动切换到瀑布流模式,让宝贝的美图更加冲击用户的视觉. 但是UWP默认的列表控件并没有这种效果,listview控件中虽然子元素可以不一样大小,但是只能有1列,gridview控件虽然有多列,但每个子元素都

微信能否替代淘宝,且听我分解

     现在很多人都以为微信仅仅是用来发布个人心情状态的,用来发布个人照片,是一个简简单单的社交工具,我现在可以告诉你 你错了,现在还有很多淘宝卖家还每天都在跟直通车,淘宝引流打广告呢,甚至一些新卖家还在为找别人刷流量而头疼呢?如果你现在还在为这些问题而烦恼 你就应该接着往下看我的分析了.           很多人都在抱怨创业难,不敢放手去博,看到别人的成功又蠢蠢欲动,原因就是感觉自己是一个没有资金,没有资源,没有人脉的人,现在是移动互联的时代,哪怕你没有资金,如果你有好的主意 好的想法 一

#淘宝#复制分享宝贝内容,打开淘宝APP,自动弹出宝贝提示信息

场景描述: 淘宝复制连接,分享出去,比如复制到QQ好友,微信好友,一个宝贝信息,然后你朋友长按复制你分享它了的这个宝贝,当然打开手机淘宝时,自动会跳出宝贝的信息,点击确定可以直接进入宝贝详情 简单实现方式: - (void)applicationDidBecomeActive:(UIApplication *)application { NSString  *string = [UIPasteboard generalPasteboard].string; if (string) { UIAle

apiCloud 三方分享,微信好友分享,微信朋友圈分享,QQ分享,微博分享

首先查看我的这篇有关三方登录的博客,地址是http://www.cnblogs.com/gqx-html/p/8303567.html,配置完三方数据后可以从上一篇文章中的链接跳转到各个登录查看api,也可以看下面 微信好友分享:https://docs.apicloud.com/Client-API/Open-SDK/wx 微信朋友圈分享:https://docs.apicloud.com/Client-API/Open-SDK/wx QQ分享:https://docs.apicloud.co

DCloud旗下的uni-app如何判断是否安装腾讯QQ微信微博支付宝淘宝客户端

遇到的问题 最近,在用uni-app混合方式开发app,在做微信授权登录的时候,要判断手机里面是否安装有微信客户端,如果没有安装提示用户「未安装微信客户端或版本过低」.刚开始用uniapp,很多语法都不太熟悉,心想,这个这么常用的判断,随便搜索引擎一搜不就有了.正所谓面向百度编程,没有什么能难倒程序员的.结果一搜就懵了,不信你搜搜看,「uniapp判断是否安装微信」,完全找不到想要的.我还是不死心,搜索引擎没有,官网总会有吧.去官网找了一圈,还是没有找到,心灰意冷. 解决方案 说实话,我也不记得