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