python - Python Requests 包中的 URI 编码

标签 python python-requests urlencode

我正在使用 python requests 包从 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 linkurllib.parse.quote )将文本转换为 url 编码格式。

>>> import requests
>>> requests.utils.quote('test+user@gmail.com')
'test%2Buser%40gmail.com'

关于python - Python Requests 包中的 URI 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46783078/

相关文章:

python - 无法从网页复制值

python - 如何使用像 len[arry]-1) 这样的 python 在文本文件中获取最后一行作为索引?

python - Jupyter requests.get 返回不完整的 html

ios - Swift - 编码 URL

iOS URL Encode NSString 结果总是 (null)

python - 计算Python列表中的连续数字

python - 带有逗号分隔字符串条目的 pandas 数据框,更改为唯一的逗号分隔条目

python - 使用 BeautifulSoup 抓取没有唯一标识符的元素

具有重复键但值不同的python3字典

javascript - 为什么不 decodeURI ("a+b") == "a b"?