关于在微信分享博客链接后的 nsukey 参数
背景
有时分享自己的博客链接在微信中,发现被微信拦截,需要用户二次点击才能打开。以自己的博客为例,打开后发现页面只显示了 Nice try.
而并不是实际要进入的页面(URL路由出错)。分析了一下被微信拦截后所生成的URL,如下所示:
www.yourdomain.com?nsukey=eA04u7Jmet6VkBxjWm6YSazfdSg9DEFocoKicTns6iuZrtxy9ujylnpbMx%2BdGrJAbNbbZtcl4nMbZVDm4O3CWg%3D%3D
搜索了一下 Nice try. Textpattern
,得到如下信息:
The simple steps you need to take to fix the ‘Nice Try.’ error message on your Textpattern/TXP installation are:
*Login to your control panel
*Go to Admin
*Go to Preferences
*Go to Advanced
*Change the Maximum URL length (in characters) to a higher value til it works!I think it was put in there to stop people trying to hack URL’s but as the modern world of Mail campaigns seems to add a whole host of GET variables it’s pretty easy to overrun this limit.
Good Luck!
按照提示,进入后台设置 Maximum URL length
为2000(默认为200)后问题得到解决,微信生成带有 nsukey
可以正常打开页面。
原因分析
我这人比较喜欢研究,为什么微信要带上在原有的URL上增加 nsukey
参数,背后是什么企图(因为我知道 Tencent 是没有底线的)。
继续搜索 微信 nsukey
发现的如下结果,我个人认为比较有参考价值,分析的相对到位:
这部分带有 nsukey 的请求究竟是真实用户的请求被微信(运营商?)缓存/中转还是被抓取或者其他的?究竟什么条件会触发朋友圈分享链接时自动加上 nsukey 这个参数? via: www.v2ex.com/t/312163
综上,我严重怀疑用户方位页面是为被定位且快照抓取,所以我决定还是将 Textpattern 的URL长度改回为 200. 原因很简单,我不希望Wechat 快照我的内容,所以还是让它快照 Nice try. 吧… (2018.08.31)
— The end.