[英]URL Encoding/Decoding in python (whole url, not just the path)
我做了很多搜索和實驗,但我找不到解決方案。 所以,如果我錯過了一些微不足道的事情,我會提前道歉。
問題:
我有一個python turbogears應用程序正在下載網址資源。 它被給予客戶端下載的URL。
一個客戶特別發送未轉義的網址。 例如,' http://www.foo.com/file with space.txt'
當我嘗試下載它時,下載失敗,因為服務器無法識別此URL。 它需要將空間轉義為有效的URL。
我知道有一些方法(urllib.urlencode / urllib.quote等)將編碼字符串。 但是他們認為他們使用的字符串不是網址。 如果您為這些方法提供URL,它們將逃避URL的方案,並使其更加無效。
因此,摘要是:如何在python中覆蓋整個完全限定的URL?
注意:我嘗試使用urlparse解析url組件以獲取路徑。 但是有時url會有查詢參數,片段等等。因此,我不想編寫將url拆分為其部分的代碼,只從path + query + fragment中轉義所需的內容,然后重構url。
是否有任何輔助函數直接獲取url並逃脫它?
另請注意,有時我會從客戶端獲得有效的轉義網址。 所以,我也想處理它們,而不是雙重逃避它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.