pythonにより、下記のコードを実行します。
コマンドから[python main.py]を実行します。
webapiは全部は載せてません。
・main.py import json from urllib import request, parse from pprint import pprint import json if __name__ == "__main__": #webapiのurlは仮です。 url = 'https://test.core.its-mo.com ## GET get_req = request.Request(url) with request.urlopen(get_req) as res: # resは http.client.HTTPResponse body = json.loads(res.read()) # レスポンスボディ headers = res.getheaders() # ヘッダー(dict) status = res.getcode() # ステータスコード pprint(headers) pprint(status) pprint(body)
以下のように、request.urlopenでエラーになります。
with request.urlopen(get_req) as res: File "c:\users\nsw00_910164\appdata\local\programs\python\python37\lib\urllib\request.py", line 222, in urlopen return opener.open(url, data, timeout) File "c:\users\nsw00_910164\appdata\local\programs\python\python37\lib\urllib\request.py", line 525, in open response = self._open(req, data) File "c:\users\nsw00_910164\appdata\local\programs\python\python37\lib\urllib\request.py", line 543, in _open '_open', req) File "c:\users\nsw00_910164\appdata\local\programs\python\python37\lib\urllib\request.py", line 503, in _call_chain result = func(*args) File "c:\users\nsw00_910164\appdata\local\programs\python\python37\lib\urllib\request.py", line 1362, in https_open context=self._context, check_hostname=self._check_hostname) File "c:\users\nsw00_910164\appdata\local\programs\python\python37\lib\urllib\request.py", line 1319, in do_open encode_chunked=req.has_header('Transfer-encoding')) File "c:\users\nsw00_910164\appdata\local\programs\python\python37\lib\http\client.py", line 1252, in request self._send_request(method, url, body, headers, encode_chunked) File "c:\users\nsw00_910164\appdata\local\programs\python\python37\lib\http\client.py", line 1263, in _send_request self.putrequest(method, url, **skips) File "c:\users\nsw00_910164\appdata\local\programs\python\python37\lib\http\client.py", line 1118, in putrequest self._output(self._encode_request(request)) File "c:\users\nsw00_910164\appdata\local\programs\python\python37\lib\http\client.py", line 1198, in _encode_request return request.encode('ascii') UnicodeEncodeError: 'ascii' codec can't encode characters in position 114-116: ordinal not in range(128)
エラーの対処方法は、分かりますか。
差し支えない範囲でurlを提示ください。
(urlに日本語などASCIIコード外の文字が含まれていないか?)
can10さん
差支えない範囲ですと、以下になります。
url = 'https://test.core.its-mo.com/zmaps/api/apicore/core/v1_0/poi/multi?if_clientid=aaaabbbbbbb|ccc&if_auth_type=ip&content=PPK_AKP&word=駐車場'

回答1件
あなたの回答
tips
プレビュー