Pythonで文字コードを指定してURLのクエリ文字(パラメータ)をエンコードしたい時

“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 を構成要素に解析する
ソースコード: Lib/urllib/parse.py このモジュールでは URL (Uniform Resource Locator) 文字列をその構成要素 (アドレススキーム、ネットワーク上の位置、パスその他) に分解したり、構成要素を...
タイトルとURLをコピーしました