最近开发微信接口,配合开发弄了这个微信服务端的模拟以方便调试。
# -*- coding: utf-8 -*- #/usr/bin/env python __version__ = '0.1' __author__ = 'http://weibo.com/wtmmac' ''' 微信Server模拟 ''' import sys, urllib, httplib, time, hashlib, random # 配置 interface_url = 'www.xxx.net' interface_path = '/interface/weixin.php' Token = 'weixin' messages = { # 用户关注消息 'subscribe' : '''<xml><ToUserName><![CDATA[测试服务帐号]]></ToUserName> <FromUserName><![CDATA[小黑]]></FromUserName> <CreateTime>123456789</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[subscribe]]></Event> <EventKey><![CDATA[EVENTKEY]]></EventKey> </xml>''', # 用户发送文本信息 'text': '''<xml> <ToUserName><![CDATA[测试服务帐号]]></ToUserName> <FromUserName><![CDATA[小黑]]></FromUserName> <CreateTime>1348831860</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[周杰伦]]></Content> <MsgId>1234567890123456</MsgId> </xml>''' } def make_post(action): '''模拟用户行为产生的消息提交给接口程序''' conn = httplib.HTTPConnection(interface_url) headers = { "Content-type": "text/xml", "Content-Length": "%d" % len(messages[action])} # 生成签名相关变量 timestamp = int(time.time()) nonce = random.randint(1,100000) signature = makeSignature(Token, timestamp, nonce) params = urllib.urlencode({'signature': signature, 'timestamp': timestamp, 'nonce': nonce}) conn.request("POST", interface_path + "?" +params, "", headers) conn.send(messages[action]) response = conn.getresponse() print response.status, response.reason print response.read() conn.close() def makeSignature(Token, timestamp, nonce): '''生成签名''' try: Token = int(Token) except Exception, e: pass sorted_arr = map(str, sorted([Token, timestamp, nonce])) sha1obj = hashlib.sha1() sha1obj.update(''.join(sorted_arr)) hash = sha1obj.hexdigest() return hash def listAction(): print("======Supported actions:======") for i in messages.keys(): print(i) print("==============================") if __name__ == '__main__': if len(sys.argv) < 2: print (u"Please input your action") listAction() else: if (messages.has_key(sys.argv[1])): make_post(sys.argv[1]) else: print("No this action") listAction()
相关推荐
【微信服务端】是模拟微信应用程序后端服务的软件开发项目,主要目的是为了学习和研究微信后台系统的架构和实现方式。这个源码集合是开发者在互联网上辛苦搜寻并整理的成果,它允许我们深入理解微信服务器的工作原理...
9. **调试与测试**:在实际开发中,开发者需要使用微信支付提供的沙箱环境进行测试,模拟各种交易状态,确保代码的正确性和健壮性。 通过学习这个DEMO,开发者可以了解微信支付的整体流程,熟悉统一下单、支付确认...
微信APP支付服务端php SDK是微信支付为开发者提供的一个关键工具,它允许PHP开发者在后端处理微信应用程序的支付流程。这个SDK基于1.2版本,意味着它包含了最新的特性和安全改进,确保与微信支付接口的顺畅对接。...
微信小程序服务端开发DEMO是一个用于展示和学习微信小程序后端服务构建的示例项目。这个zip文件包含了一个指向小程序开发平台的快捷方式(小程序开发平台.url)以及一个名为"server-master"的文件夹,后者很可能是...
在微信小程序测试服务端中,SQLite3可能用于存储模拟的用户数据、配置信息或者测试结果,方便开发者在没有实际数据库环境时也能进行功能测试。通过Python的sqlite3模块,可以方便地执行SQL语句,进行数据的增删改查...
【标题】"仿微信安卓聊天软件 API 服务端" 是一个专门为安卓应用设计的聊天功能实现,它模拟了微信的一些核心交互和功能。这个服务端是应用程序接口(API)的一部分,用于处理客户端(如安卓应用)与服务器之间的...
使用Postman等工具模拟小程序发起请求,测试服务端接口的正确性和性能。同时,服务端应设置日志记录,便于排查问题。 9. 源码结构分析 压缩包文件"wxapppython-master"很可能是包含一个完整的Python服务端项目,...
在Java微信小程序支付和退款服务端功能开发中,主要涉及以下几个关键知识点: 1. **微信支付API集成**:微信提供了一套完整的支付SDK,服务端需要集成这些接口以实现支付功能。首先,需要注册微信商户平台账号,...
同时,为了调试和测试,还可以设置微信支付的沙箱环境,以模拟真实支付流程而不会产生实际费用。 为了便于理解和实践,可以下载提供的源码,根据自己的业务需求进行修改和配置,确保服务端与小程序端的通信顺畅,并...
6. **微信接口**:用于与微信服务端进行交互,如用户授权、分享、支付等。 7. **配置文件**:包含游戏的配置信息,如初始设定、难度等级等。 8. **测试和调试工具**:帮助开发者定位和修复问题。 开发H5微信小...
使用这个小工具_微信开发调试小工具,就可以解决这个问题了,即使是超时(微信服务端只给了5秒时间),也不用怕了,当然不超时最好了。 微信开发调试工具: 1.请求网址 请求网址输入你在公众平台开发模式下的那个...
此外,为了模拟微信的聊天功能,还需要考虑多线程技术。服务端可能同时处理多个客户端的连接,因此每个客户端的Socket通信应该在一个单独的线程中进行,以防止阻塞其他客户端的请求。客户端也可能需要在不同的线程中...
在C#编程环境中,微信API的集成是常见的需求,尤其对于开发桌面应用或者服务端程序时,需要与微信进行交互,实现诸如“扫一扫”这样的功能。这个资源包提供了一个自定义的微信帮助类(wxHelper.cs),使得开发者可以...
- **预支付请求**:开发者先向微信支付服务端发送预支付请求,包含订单信息(如商品ID、价格、订单描述等)。 - **预支付返回**:微信返回预支付交易会话标识(prepay_id),用于后续生成支付二维码或H5支付链接。...
同时,小程序引入了小程序API,提供与微信服务端交互的能力。 在开发2048游戏时,我们首先需要设计游戏界面。游戏界面通常包括一个4x4的数字棋盘,以及得分、最高分等显示区域。这些元素都可以通过WXML和WXSS来实现...
- 模拟测试:使用微信支付提供的沙箱环境进行模拟交易,验证接口和流程的正确性。 - 调试工具:利用微信开发者工具和日志系统进行问题定位,优化用户体验。 这个项目涉及的技术栈包括Java后端开发、微信支付API...
由于香哈菜谱没有免费对外开发api,所以只有模拟服务端提供的香哈头条列表的数据,有了数据,页面才能动态地进行渲染。 9.香哈头条里有菜谱的图片、美食名称、分类、浏览数量以及评论数量,因为香哈头条列表信息在很...
- **服务端**:型号为iZnpj215qhovuZ的服务器,运行Windows Server 2008 R2 Enterprise操作系统,配备E5-2682处理器和8GB内存。 - **移动端**:小米Max1手机,运行Android 8.0操作系统,搭载高通骁龙650处理器和32GB...
- **测试环境**:在开发和测试阶段,使用微信提供的沙箱环境进行模拟支付,确保功能正常后再上线。 5. **文件分析**: 压缩包中的“微信支付小程序+Java springmvc(1)”可能包含以下内容: - 小程序的源码,用于...
在服务端层面,主要是依据微信小程序的特性,模拟攻击者从SQL注入、越权访问、文件上传、CSRF以及信息泄露等漏洞方面进行测试,这个其实与常规的web安全测试类似。 本此主要是对客户端测试的总结,包括操作流程,所...