用web.py调用有道的翻译接口总是不成功


我在用新浪的SAE服务,使用web.py搭建了一个微信的应用,调用有道的翻译接口来实在一个翻译机器人的公众微信,现在的问题是英文翻译中文可以,但是输入中文却怎么也得不到翻译结果,我想应该是字符编码的问题,但是我试过多种方法都无法解决这个问题,请大神帮忙解决一下。以下是一些代码片段

   
  def POST(self):
  
str_xml = web.data()
xml = etree.fromstring(str_xml)
content=xml.find("Content").text //得到用户的输入的内容
msgType=xml.find("MsgType").text
fromUser=xml.find("FromUserName").text
toUser=xml.find("ToUserName").text

Nword = youdao(content)

def youdao(word):
qword = urllib2.quote(word)
baseurl = r'http://fanyi.youdao.com/openapi.do?keyfrom=keyfrom&key=appkey&type=data&doctype=json&version=1.1&q='
url = baseurl+qword
resp = urllib2.urlopen(url)
fanyi = json.loads(resp.read())
if 'basic' in fanyi.keys():
trans = u'%s:\n%s\n%s\n网络释义:\n%s'%(fanyi['query'],''.join(fanyi['translation']),''.join(fanyi['basic']['explains']),''.join(fanyi['web'][0]['value']))
return trans

python web.py

风鸟院花月 10 years, 9 months ago

Your Answer