我使用Python 3和requests模块/库来查询REST服务。
默认情况下,请求似乎使用urllib.parse.quote_plus()
进行urlencoding,即空格转换为+
。
然而,我查询的REST服务将其误解为and
。所以我需要将空格编码为%20
,即改为使用urllib.parse.quote()
。
有没有一种简单的方法来处理请求?我无法在文档中找到任何选项。
答案 0 :(得分:6)
from requests.utils import requote_uri
url = "https://www.somerandom.com/?name=Something Cool"
requote_uri(url)
'https://www.somerandom.com/?name=Something%20Cool'
documentation here requote_uri方法大约是页面的一半。