if isinstance(url, unicode):
url = url.encode("utf-8")
ret = ""
- invalid = ";&=#?/\"'"
+ invalid = "%;&=#?/\"'"
for c in url:
if c in invalid or (ord(c) <= 32) or (ord(c) >= 128):
ret += "%%%02X" % ord(c)
def parurl(url, pars={}, **augment):
qs = parstring(pars, **augment)
if qs != "":
- return url + "?" + qs
+ return url + ("&" if "?" in url else "?") + qs
else:
return url