Python URL 解碼
-
在 Python 中使用
urllib.parse.unquote()
函式解碼 URL -
在 Python 中使用
urllib.parse.unquote_plus()
函式解碼 URL -
在 Python 中使用
requests
模組解碼 URL
在處理新增了路徑引數或查詢字串的 API 時,URL 編碼是必不可少的。路徑引數和查詢字串需要在 URL 中正確編碼以確保安全。
此外,URL 編碼還可以用於準備提交資料。但是,程式設計師很難理解這些編碼資料,這就是為什麼需要對其進行解碼的原因。
本教程演示了在 Python 中解碼 URL 的不同方法。
在處理 HTML 表單時,它們預設使用 application/x-www-form-urlencoded
內容型別來傳送引數。從這些表單接收到的引數必須首先被解碼才能在 Python 中使用。
在 Python 中使用 urllib.parse.unquote()
函式解碼 URL
urllib.parse.unquote()
函式用於透明有效地將給定字串從百分比編碼轉換為 UTF-8 位元組
資料,然後進一步將其轉換為純文字。
urllib.parse.unquote()
函式將 %x
轉義序列替換為其單個字元等效項。當給定物件是 byte
或 str
物件時,此函式起作用。
要在你的 python 程式碼中使用這個函式,你首先要匯入 urllib
庫。這個包提供了幾個庫和函式,使在 Python 中使用 URL 變得容易。
以下程式碼使用 urllib.parse.unquote()
函式在 Python 中解碼 URL。
import urllib.parse
url = 'delftstack.com/code=%20HOW%20TO%20Articles'
x = urllib.parse.unquote(url)
print(x)
上面的程式碼提供了以下輸出:
delftstack.com/code= HOW TO Articles
在 Python 中使用 urllib.parse.unquote_plus()
函式解碼 URL
它的工作原理類似於上述 urllib.parse.unquote()
函式,但進一步解釋了顯著差異。
HTML 表單在解碼值時通常包含 +
符號。雖然 urllib.parse.unquote()
函式無法解碼+
符號,但 urllib.parse.unquote_plus()
函式通過替換所有+
符號來解碼包含+
符號的 URL 帶空格。
此函式僅在給定物件是 str
物件時有效。
以下程式碼使用 urllib.parse.unquote_plus()
函式在 Python 中解碼 URL。
import urllib.parse
url = 'delftstack.com/code=HOW%20TO+Articles'
x = urllib.parse.unquote_plus(url)
print(x)
上面的程式碼提供了以下輸出:
delftstack.com/code=HOW TO Articles
在 Python 中使用 requests
模組解碼 URL
Python 有一個簡單且高效的 requests
庫,可通過 Python 傳送 HTTP 請求。requests
庫也可以用來完成這項任務,因為這個庫通常用於在 Python 中處理 HTML 表單。
與 urllib.parse.unquote()
函式非常相似,requests.utils.unquote()
函式在解碼 URL 時也不會過濾 +
符號。
以下程式碼使用 requests
模組函式在 Python 中解碼 URL。
import requests
url = "delftstack.com/code=%20HOW%20TO%20Articles"
print(requests.utils.unquote(url))
上面的程式碼提供了以下輸出:
delftstack.com/code= HOW TO Articles
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn