urlencode
really accepts a dictionary, for example:
>>> urllib.urlencode({'test':'param'})
'test=param'`
- :
import urllib
import urlparse
def url_fix(s, charset='utf-8'):
if isinstance(s, unicode):
s = s.encode(charset, 'ignore')
scheme, netloc, path, qs, anchor = urlparse.urlsplit(s)
path = urllib.quote(path, '/%')
qs = urllib.quote_plus(qs, ':&=')
return urlparse.urlunsplit((scheme, netloc, path, qs, anchor))
:
>>>url_fix('http://example.com/A, B C')
'http://example.com/A%2C%20B%20C'
URL- python