天天看点

优酷url的encode与decode

以前在优酷上看到一个关于微软的视频,感觉不错。但是是以前无意中看到的,现在唯一能找到的痕迹是一个残缺的url-1,​​https%253A%252F%252Fv.youku.com%252Fv_show%252Fid_XMzc4NDA%253D.html​​,当然把这个url粘贴到browser的地址栏中是无效的,不会跳转到相应的页面上。

但我还不想这点困难就难倒我了,于是开始尝试找方法。我之前无意中知道有url编码和解码的东西,也就是encode和decode,想到这里,我于是想到百度一下看能不能找到在线url编码和解码工具,把url-1还原成播放视频的页面地址,但是在网上找了几个在线工具之后,都没有成功。不知道是我方法不对,还是什么。用了在线工具之后,得到的新的url变得复杂了,甚至比原来的url更长。于是就放弃了使用在线工具的方法。

决定换个思路。我先找到一个可以播放视频的网页url-2: ​​https://v.youku.com/v_show/id_XMzgyODkxNzIxMg.html​​,然后拿url-2和url-1做对比,看能不能把正确的url拼出来,结果很好,我得到关于微软的视频的播放的url,厉害了,哈哈。

思路如下:经过对比发现url-1中的%253A对应的是url中的:,%252F对应的是url中的/,两个%252F就是对应两个//,至于%253D我第一眼没有看出来是什么。但是我可以确定这个字符串不可能是/,也不可能是.,因为/对应的是%252F,.显示的还是.,没有变化,和字母一样,都是以本身原来的形式显示;同时这个字符串对应的视频id的一部分,因为以前也经常在优酷上看视频,所以基本上知道视频的id除了字母之外就是=号了,可能是有id有1个=号,有的id有2个=号,于是我猜想%253D会不会是=号呢?于是就试了一下,把我得到的新的url: ​​https://v.youku.com/v_show/id_XMzc4NDA=.html​​​粘贴到browser的地址栏中,然后回车,发现竟然被我猜对了,竟然找到了,就是我以前看过的视频。然而到这里我并没有停下脚步,而是选择继续探索。探索什么呢,因为我突然意识到url-2中有两个=号,是不是我得到的新的url中后面添加一个=号也可以访问页面呢?于是我紧接着就试了一下,结果被我猜对了,确实可以访问。于是我推广了一下思路,又加了一个=号,也就是说现在的url中有3个=号了,是不是还可以成功访问呢?想到这里,立即把url粘贴到browser的地址栏中,发现真的可以访问,于是再继续尝试,发现后面有4个、5个=号等等都可以访问。又想到既然=号的数量区别不大,其实在这个时候,=号的数量根本没有区别了,不管是1个、2个等都可以访问页面,然后想到没有=号,也就是说如果数量为0个呢,变成了这个url: ​​https://v.youku.com/v_show/id_XMzc4NDA.html​​还可以访问吗?经过额测试,发现没有=号也可以访问。真是醉了,哈哈。

至此为止吧,主要是娱乐,哈哈。实用性不大。