1
我有一个功能,下载一个网站的HTML代码与urllib3库。我正在使用request_encode_url函数通过GET传递参数,如果我不使用像'ñ'这样的特殊拉丁字符,它会正常工作。如果我使用'ñ',则网址编码不正确。例如,如果我传递了像“Elseñor”这样的参数,该函数会将其转换为“El + se?或or”而不是“El + se%F1or”。如何使用urllib3 request_encode_url编码拉丁字符?
z='El señor'
fields={'sec':'search','value': z}
http = urllib3.PoolManager()
r = http.request_encode_url('GET', 'http://www.myurl.com/search.php',fields)
预期网址必须是这样的:
http://www.myurl.com/search.php?sec=search&value=El+se%F1or
但是,如果使用特殊字符,我得到下一个URL:
http://www.myurl.com/search.php?sec=search&value=El+señor
有人能说我怎么可以传递参数的特殊字符编码一个正确的网址?
我使用Python 3.4
如果我运行代码,我居然得到''http://www.myurl.com/search.php?sec=search&value=El+se %C3%B1or''作为请求的URL。这可能是源文件的编码问题吗? – dorian