import urllib.request, urllib.parse, urllib.error

def urlencode_withoutplus(query):
    if hasattr(query, 'items'):
        query = list(query.items())
l = []
for k, v in query:
    k = urllib.parse.quote(str(k), safe=' /+')
v = urllib.parse.quote(str(v), safe=' /+')
l.append(k + '=' + v)
return '&'.join(l)
Передача символа «+» в запросе POST в Python