python--瀏覽器url編解碼

瀏覽器在向服務器傳送數據時,會將特殊字符(空格,<, \ 等)、中文(中國)轉碼成類似%20,%3C,%5C、%E4%BD%A0%E4%B8%8D%E8%A1%8C,爲什麼會這樣了?

因爲瀏覽器在將這些特殊字符當作get請求的參數時,會將特殊字符轉碼。什麼是get請求及參數,就是鏈接對應html中的<a>標籤,參數就是http://127.0.0.1:8080/update/000036.html中000036就是參數,如果不轉碼,將發生什麼情況呢?比如我想將/b/c/d一個整體當作參數傳遞,那麼http://127.0.0.1:8080/b/c/d.html,那麼這傳送的究竟是b目錄下的c目錄下的d.html,還是一個參數呢,瀏覽器將會產生歧義,所以瀏覽器將特殊字符都會轉碼,以便識別

那麼如何將瀏覽器轉碼的數據解碼了,這裏就用到了python中urllib.parse.unquote方法解碼,quote方法是實現瀏覽器一樣的解碼

from urllib.parse import quote, unquote
unquote('%E4%B8%AD%E5%9B%BD')

輸出:中國

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章