关于百度URL中关键词编码的研究
最近项目中有关于js编码解码系列的工作,后来研究到百度搜索Url中关键词解码问题;
在web端百度搜索时,关键词有时候是不编码,或者有时候是encodeURIComponent编码,这个很容易解码;但是在wap端搜索时就有问题了;
问题:比如 在wap端搜索 “足球” 得到的url为:
http://wap.baidu.com/s?word=%25c6%2594%2591%25c5%256e%2561&st=11104i&sa=tb&ts=9043405&ix=575%25
上面url中word= 后面到&st前面的字符 %25c6%2594%2591%25c5%256e%2561 这些应该是 “足球” 的编码字符;
目测解码思路毫无头绪,然后不改变关键词的情况下,重新点击搜索按钮,发现竟然同样的关键词每次编码后的字符都不相同;如:
http://wap.baidu.com/s?word=%254f%251d%251a%254e%25f7%25ea&st=11104i&sa=tb&ts=9482164&ix=867%25
这时获取到 “足球” 的编码字符为 %254f%251d%251a%254e%25f7%25ea ;
多次点击发现,只有url中的 ix 参数跟随被搜关键词的编码变化,设想应该是跟 ix参数组合计算做的编码,研究了很长时间,始终无解;
因此将次问题原味写出来,希望大神指点回复,我应该如何针对类似解码问题作出正确分析呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
同样的问题,一起探讨:
如果用将"足球"自己进行url编码,可以看到url为%E8%B6%B3%E7%90%83
这6个16进制数 ,减去百度的6个16进制数,差值都是一样的,
说明百度在原码基础上进行了偏移?
但是偏移量是怎么计算的呢?郁闷