Python 请求包中的 URI 编码
URI encoding in Python Requests package
我正在使用 python 请求包从 API 获取结果并且 URL 包含 + 登录。但是当我使用 requests.get 时,请求失败,因为 API 无法理解 + 符号。如果我将 + 符号替换为 %2B(URI 编码),请求将如何成功。
有没有办法对这些字符进行编码,以便我在将 URL 传递给请求包时对其进行编码
Error: test user@gmail.com does not exist
API : https://example.com/test+user@gmail.com
您可以使用 requests.utils.quote
(即 a link to urllib.parse.quote
)将文本转换为 url 编码格式。
>>> import requests
>>> requests.utils.quote('test+user@gmail.com')
'test%2Buser%40gmail.com'
我正在使用 python 请求包从 API 获取结果并且 URL 包含 + 登录。但是当我使用 requests.get 时,请求失败,因为 API 无法理解 + 符号。如果我将 + 符号替换为 %2B(URI 编码),请求将如何成功。
有没有办法对这些字符进行编码,以便我在将 URL 传递给请求包时对其进行编码
Error: test user@gmail.com does not exist
API : https://example.com/test+user@gmail.com
您可以使用 requests.utils.quote
(即 a link to urllib.parse.quote
)将文本转换为 url 编码格式。
>>> import requests
>>> requests.utils.quote('test+user@gmail.com')
'test%2Buser%40gmail.com'