- 帖子
- 3
- 精华
- 0
- 积分
- 8
- 阅读权限
- 10
- 注册时间
- 2014-2-19
- 最后登录
- 2014-2-19
|
crossin老师好:)
昨天按照一个公众平台教程写了一些代码,用的是新浪的SAE,没想到最基本的token验证就过不去,自己查了半天也没明白问题在哪里,大蛇语言新手,烦请老师帮忙看看可好?
config.yaml 如下:
---
name: shameonyou
version: 1
libraries:
- name: webpy
version: "0.36"
- name: lxml
version: "2.3.4"
...
index.wsgi如下:
# coding: UTF-8
import os
import sae
import web
from weixinInterface import WeixinInterface
urls = (
'/weixin','WeixinInterface'
)
app_root = os.path.dirname(__file__)
templates_root = os.path.join(app_root, 'templates')
render = web.template.render(templates_root)
app = web.application(urls, globals()).wsgifunc()
application = sae.create_wsgi_app(app)
weixinInterface.py如下:
# -*- coding: utf-8 -*-
import hashlib
import web
import lxml
import time
import os
import urllib2,json
from lxml import etree
class WeixinInterface
def __init__(self):
self.app_root = os.path.dirname(__file__)
self.templates_root = os.path.join(self.app_root, 'templates')
self.render = web.template.render(self.templates_root)
def GET(self):
#获取输入参数
data = web.input()
signature=data.signature
timestamp=data.timestamp
nonce=data.nonce
echostr=data.echostr
#自己的token
token="shameonyou" #这就是微信后台输入的token
#字典序排序
list=[token,timestamp,nonce]
list.sort()
sha1=hashlib.sha1()
map(sha1.update,list)
hashcode=sha1.hexdigest
#sha1加密算法
#如果是来自微信的请求,则回复echostr
if hashcode == signature:
return echostr
不能直接传图,就贴代码了,缩进应该不受影响的。
微信后台显示“服务器没有正确响应后台认证”
怎么回事啊……泪目 |
|