kyos1704活動記

適当に考えたことや調べたことを垂れ流すものです。質問等ありましたらtwitter:@kyos1704 に質問してください。

urllib.request.Requestでエンコードエラーが出た

UnicodeEncodeError: 'ascii' codec can't encode character '~~~' in position ~~: ordinal not in range()

的なエラーがでた

import urllib.request
id = "asciiエンコードできない文字列"
url = "https://example.com/" +urllib.parse.quote(id)
request = urllib.request.Request(url,method="GET",headers=header)

with urllib.request.urlopen(request) as response:
    response_body = response.read().decode("utf-8")

id をurlエンコードしてアクセスできる