pythonsae微信
A. 目前想在新浪SAE上部署个python程序,来抓取一些网站上的东西,在云端生成xml来做rss。问
sae可以存啊,有特殊的api,你看看storage
B. 我想用python自动接收微信公众平台接收到的消息,根据消息内容再做出回复。不知道怎么搞
现在都有微信公众平台的智能机器人了啊,你到千呼万唤微信公众平台导航网站看下,在微信网络里面有现有的源码下载,照着教程设置就可以了!
C. 用sae开发微信和微信自带功能有什么区别
行家可以用sae实现许多微信平台没法实现的功能,不过能实现哪些功能,微信基本限定死了,接口摆在那儿呢
D. 微信Token验证不过,用的是微信教程里的模板php在sae上导入的URL,token 是weixin
Token 要自己在微信那设置的
E. 新浪云PythonSAE服务器如何配置
不一样的程序可能会有不同的安装要求,具体要看你是什么程序的,我是用的小鸟云服务器。不懂的可以问下他们客服
F. 求助:为什么SAE和微信公众平台url token接口配置不上 一直显示配置失败
下载上传官方的接口测试文件到SAE上,在echo $_GET["echostr"];前加上header('content-type:text');这一句就验证成功了,你可以试试这种方法。
constTOKEN='anbaojia';
functioncheckSignature()
{
$signature=$_GET["signature"];
$timestamp=$_GET["timestamp"];
$nonce=$_GET["nonce"];
$token=self::TOKEN;
$tmpArr=array($token,$timestamp,$nonce);
sort($tmpArr,SORT_STRING);
$tmpStr=implode($tmpArr);
$tmpStr=sha1($tmpStr);
if($tmpStr==$signature){
header('content-type:text');
echo$_GET["echostr"];
}else{
returnfalse;
}
}
TIPS:必须确认微信公众平台上填写的token和接口文件里的token值是一致的哦。
G. 微信公众平台 python安装哪里
微信公众平台 python安装哪里
SAE创建python程序,在index.wsgi输入以下代码,在微信验证输入xx.sinaapp.com,token任意,完成验证,微信中回复hello
#utf-8
import sae
import urlparse
import xml.etree.ElementTree as ET
def app(environ, start_response):
status = '200 OK'
response_headers = [('Content-type', 'text/html; charset=utf-8')]
start_response(status, response_headers)
method=environ['REQUEST_METHOD']
if method=="GET":
query=environ['QUERY_STRING']
echostr=urlparse.parse_qs(query)['echostr']
return echostr
elif method=="POST":
post=environ['wsgi.input']
root = ET.parse(post)
fromUser=root.findtext(".//FromUserName")
toUser=root.findtext(".//ToUserName")
CreateTime=root.findtext(".//CreateTime")
texttpl='''<xml>
<ToUserName>'''+fromUser+'''</ToUserName>
<FromUserName>'''+toUser+'''</FromUserName>
<CreateTime>'''+CreateTime+'''</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[hello]]></Content>
</xml>'''
return texttpl
application = sae.create_wsgi_app(app)
H. 如何用Python进行微信二次开发
创建步骤:
1.申请免费且支持python的服务器,新浪云sae,新建SAE应用之后,有两种代码提交方式,建议使用SVN(因为git支持代码提交,但不支持环境配置);
2.将对应版本的信息复制到微信开发-基本配置-URL,提交显示错误,因为还没有写代码,可以先用web框webpy架写个网页;
查看webpy使用说明:http://www.webpy.org/install.zh-cn
查看ase进行python开发入门说明:http://www.sinacloud.com/doc/sae/python/index.html
3.配置信息,告诉新浪云需要什么运行环境。点击代码管理-编辑代码,将用到的第三方库信息写入config.yaml,注意破折号,冒号后面空格!!
libraries:
-name:webpy
version:"0.36"
-name:lxml
version:"2.3.4"
在index.wsgi文件中写入python启动程序
新建文件,写入接受微信get请求验证的Python文件
4.在index.wgsi中写入以下信息:
#coding=utf-8
importos
importsae
importweb#配置web的路由
urls=(
'/weixin','WeixinInterface'
)
#拼接路径
app_root=os.path.dirname(__file__)
templates_root=os.path.join(app_root,'templates')
#渲染模版
render=web.template.render(templates_root)
#启动app
app=web.application(urls,globals()).wsgifunc()
application=sae.create_wsgi_app(app)
5.在自己编写的Python文件中写入微信验证和接受信息的程序
#coding=utf-8
importhashlib
importweb
importtime
importos
fromlxmlimportetree
#hashlib用于加密,md5,hash等
#lxml用来解析xml文件
classWeixinInterface(object):
#初始化
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)
#使用get方法,接收微信的get请求,看开发者文档的说明
#http://mp.weixin.qq.com/wiki/8/.html
defGET(self):
data=web.input()
signature=data.signature#微信加密签名
timestamp=data.timestamp#时间戳
nonce=data.nonce#随机数
echostr=data.echostr#随即字符串
token='zq90857'#自己设置的token
#将token、timestamp、nonce三个参数进行字典序排序
list=[token,timestamp,nonce]
list.sort()
#将三个参数字符串拼接成一个字符串进行sha1加密
sha1=hashlib.sha1()
map(sha1.update,list)
temStr=sha1.hexdigest()#加密
#判断
iftemStr==signature:
returnechostr
6.假设接收文字信息,按照开发者文档的要求,配置template文件夹下reply_text.xml文件
$defwith(toUser,fromUser,createtime,content)
<xml>
<ToUserName><![CDATA[$toUser]]></ToUserName>
<FromUserName><![CDATA[$fromUser]]></FromUserName>
<CreateTime>$createtime</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[$content]]></Content>
</xml>
I. 开发微信公众平台时必须使用新浪云SAE或者百度云BAE作为服务器吗可以使用腾讯云服务器吗
什么云都可以。我之前用过腾讯云后来用的阿里云。开发主要是你最好有一个备案的网址。因为纯IP的有些功能你是用不了。代码的话你可以下载一下PHP版本的demo。然后做网址或者域名的解析,解析完之后,把你的代码上传到对应网址解析的文件夹。你先写个小程序,可以测试一下网址访问有没有问题,最后再部署微信的其他功能。
J. 如何在sae.上制作微信自定义菜单python
首先先获取access_token,并保存与全局之中
def token(requset):
url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s' % (
Config.AppID, Config.AppSecret)
result = urllib2.urlopen(url).read()
Config.access_token = json.loads(result).get('access_token')
print 'access_token===%s' % Config.access_token
return HttpResponse(result)
利用上面获得的access_token,创建自定义表单
def createMenu(request):
url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=%s" % Config.access_token
data = {
"button":[
{
"name":"看美图",
"sub_button":[
{
"type":"click",
"name":"美图",
"key":"meitu"
},
{
"type":"view",
"name":"精选",
"url":"http://m.jb51.net/photos"
},
{
"type":"view",
"name":"回顾",
"url":"http://m.qzone.com/infocenter?g_f=#2378686916/mine"
},
{
"type":"view",
"name":"美图app",
"url":"http://jb51.net/app/app.html"
}]
},
{
"name":"看案例",
"sub_button":[
{
"type":"click",
"name":"全部风格",
"key":"style"
},
{
"type":"click",
"name":"全部户型",
"key":"houseType"
},
{
"type":"click",
"name":"全部面积",
"key":"area"
},
{
"type":"view",
"name":"更多案例",
"url":"http://m.jb51.net/projects"
}]
},
{
"type":"view",
"name":"设计申请",
"url":"http://jb51.net/zhuanti/freedesign.jsp?src=3"
}
]
}
#data = json.loads(data)
#data = urllib.urlencode(data)
req = urllib2.Request(url)
req.add_header('Content-Type', 'application/json')
req.add_header('encoding', 'utf-8')
response = urllib2.urlopen(req, json.mps(data,ensure_ascii=False))
result = response.read()
return HttpResponse(result)