关于百度URL中关键词编码的研究

发布于 2022-08-28 12:38:58 字数 1009 浏览 23 评论 0

最近项目中有关于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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

醉生梦死 2022-09-04 12:38:58

同样的问题,一起探讨:
如果用将"足球"自己进行url编码,可以看到url为%E8%B6%B3%E7%90%83
这6个16进制数 ,减去百度的6个16进制数,差值都是一样的,
说明百度在原码基础上进行了偏移?
但是偏移量是怎么计算的呢?郁闷

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文