最近在学习django 微信开发,下面就是一个开发机器人的具体方法。
机器人的实现,我调用了图灵机器人的api,大家可以到 www.tuling123.com网站注册一个账号,并创建个机器人,在机器人设置业里,有api接口和key两个值,需要记一下,待会咱们就调用这个接口实现人机互动
下面根据图灵提供的机器人提供的api接口,代码实现在下面
url地址: http://www.tuling123.com/openapi/api 通过发送json格式请求,返回json格式为应答
def get_tuling(msg): //msg为发送的内容
apiurl = 'http://www.tuling123.com/openapi/api'
data = {
'key' :API_KEY, //api_key为上面申请图灵机器人的api
'info'
:msg
}
try:
jdata = json.dumps(data)
request = urllib2.Request(apiurl,jdata) //post请求发送json数据l
request.add_header('Content-Type','application/json')
result = urllib2.urlopen(request).read()
hjson=json.loads(result) //返回数据为json格式
content=hjson['text'].encode('utf-8') //解析返回数据中的‘text’ 内容
return content
except:
return
接收到微信发送过来的请求信息(文本信息,xml格式),解析出来内容,调用图灵机器人api接口,拿到返回结果,
组织成xml的微信格式,返回给微信服务器
def responseMsg(request):
rawStr = smart_str(request.body)
msg = parseMsgXml(ET.fromstring(rawStr))
queryStr = msg.get('Content','You have input nothing~')
replyContent = get_tuling(queryStr)
return getReplyXml(msg,replyContent)
下面就可以实现简单的机器人交互了