我正在尝试在 Commission Junction (CJ) 使用 HORRIBLE Web 服务。我可以让客户端连接并从 CJ 接收信息,但他们的数据库似乎包含一堆导致 UnicideDecodeError 的坏字符。
现在我正在做:
from suds.client import Client
wsdlLink = 'https://link-search.api.cj.com/wsdl/version2/linkSearchServiceV2.wsdl'
client = Client(wsdlLink)
result = client.service.searchLinks(developerKey='XXX', websiteId='XXX', promotionType='coupon')
这很好用,直到我创下了“CorpNet® 10% Off Any Service”之类的记录,然后 ® 导致它打破,我得到了
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 758: ordinal not in range(128)" error.
有没有办法在我的一端对 ® 进行编码,以便在 SUDS 读取结果时它不会中断?
更新:澄清一下,® 来自 CJ 数据库并在他们的回复中。所以不知何故,我需要在 SUDS 处理响应之前解码非 ascii 字符。我不确定如何(或是否)在 SUD 中完成此操作。