设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

集中答疑专用贴

  [复制链接]

0

主题

0

好友

8

积分

新手上路

Rank: 1

楼主
发表于 2014-2-19 00:20:29 |显示全部楼层
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
               

不能直接传图,就贴代码了,缩进应该不受影响的。
微信后台显示“服务器没有正确响应后台认证”
怎么回事啊……泪目
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-2 18:09 , Processed in 0.024286 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部