我正在尋找一個庫函數來標準化Python中的一個URL,即刪除路徑中的「./」或「../」部分,或添加一個默認端口或轉義特殊字符等。結果應該是指向同一網頁的兩個URL唯一的字符串。例如http://google.com
和http://google.com:80/a/../
應返回相同的結果。規範化/標準化URL?
我更喜歡Python 3,並且已經通過urllib
模塊查看過。它提供了分割網址的功能,但沒有任何功能可以對它們進行規範化。 Java有URI.normalize()
函數做類似的事情(雖然它不認爲默認端口80等於沒有給定的端口),但是有沒有像這樣的python?
作爲一個側面說明,例如資源通過'http:// google.com /'不低於'HTTP相同://谷歌.COM:80 /一個/../'。也就是說,如果'/ a'不存在,那麼第二條路徑將失敗。通過「規範化」它,你失去了這種特殊情況,並且當你開始一個無效的URI時最終得到一個有效的URI ...... –