优酷url的encode与decode
Posted qnodot
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优酷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还可以访问吗?经过额测试,发现没有=号也可以访问。真是醉了,哈哈。
至此为止吧,主要是娱乐,哈哈。实用性不大。
!-- >以上是关于优酷url的encode与decode的主要内容,如果未能解决你的问题,请参考以下文章
Python3中字符串的编码与解码以及编码之间转换(decodeencode)
ffmpeg decode, encode, transcode, mux, demux, stream, filter的区别