0

WSDLを使用してSOAPサービスにアクセスしようとしています。

http://taqm.epa.gov.tw/taqm/DataService.asmx?WSDL

pysimplesoapを使用する

#!/usr/bin/python

from codecs import Codec

from pysimplesoap.client import SoapClient
url = 'http://taqm.epa.gov.tw/taqm/DataService.asmx?WSDL'
client = SoapClient(wsdl=url,trace=False)

response = client.SiteList2('xml')
result = response['SiteList2Result']

結果を出力しようとすると、「UnicodeEncodeError:'ascii'コーデックは49-50の位置にある文字をエンコードできません:序数がrange(128)にありません」と表示されます。

応答には繁体字中国語のbig5エンコーディング(またはおそらくutf-8)が含まれていると思います。

応答は口述であり、直接印刷すると次のように表示されます。

{'SiteList2Result': u'<NewDataSet><Table><SITE_CODE>1</SITE_CODE><SITE>\u57fa\u9686</SITE><HSCITY>\u57fa\u9686\u5e02</HSCITY><DISTRICT>\u4fe1 \u7fa9 \u5340</DISTRICT>...

なぜASCIIコーデックを使用しているのですか?それは何をしているのですか?どうすれば解決できますか?

4

0 に答える 0