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