文字列のURLエンコードとクエリ文字列の作成
URLに日本語を含めるときにURLエンコードしようとしたら、ちょっと混乱したのでメモ。
単純に文字列自体をエンコードするときはquote()メソッドを使い、辞書からクエリ文字列を作るときはurlencode()メソッドを使う。
>>> import urllib >>> s = 'あいうえおかきくけこ' >>> urllib.quote(s) '%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A%E3%81%8B%E3%81%8D%E3%81%8F%E3%81%91%E3%81%93' >>> l = [('x',1),('str1','あいうえお'),('str2','かきくけこ')] >>> urllib.urlencode(l) 'x=1&str1=%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A&str2=%E3%81%8B%E3%81%8D%E3%81%8F%E3%81%91%E3%81%93'