如何编码 url 路径?

How to encode url path?

我必须向 API 端点发出网络请求。但是,请求仅对查询参数进行编码,而不对 url 路径进行编码。 考虑下面的例子 https://example.com/Nova#123

然而,服务器端点接受 https://example.com/Nova%23123。我该如何处理请求?字符串替换不是考虑其他特殊字符的解决方案。

urllib.parse.quote:

from urllib.parse import urljoin, quote
print(urljoin('https://example.com', quote('Nova#123')))

输出:

https://example.com/Nova%23123