“urllib.parse.urlencode”は通常”UTF-8″でのエンコードになるが、別の文字コードでエンコードしたい場合は、第四引数の”encoding”で指定する。
import urllib.request
url = 'https://www.example.com'
params = {
'name': 'ほげほげ',
}
req = urllib.request.Request(
'{}?{}'.format(
url,
urllib.parse.urlencode(
params,
doseq=False,
safe='',
encoding='shift-jis',
errors=None
)
)
)
response = urllib.request.urlopen(req)
urllib.parse --- URL を解析して構成要素にする — Python 3.9.2rc1 ドキュメント