1. 程式人生 > >優酷url的encode與decode

優酷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
還可以訪問嗎?經過額測試,發現沒有=號也可以訪問。真是醉了,哈哈。

至此為止吧,主要是娛樂,哈哈。實用性不大。