#!/usr/bin/env python
# -*- coding: utf-8 -*-
#########################################################################
# Author: jonyqin
# Created Time: Thu 11 Sep 2014 03:55:41 PM CST
# File Name: Sample.py
# Description: WXBizMsgCrypt 使ç¨demoæä»¶
#########################################################################
from WXBizMsgCrypt import WXBizMsgCrypt
import sys
if __name__ == "__main__":
#å设ä¼ä¸å¨ä¼ä¸å¾®ä¿¡åå°ä¸è®¾ç½®çåæ°å¦ä¸
sToken = "hJqcu3uJ9Tn2gXPmxx2w9kkCkCE2EPYo"
sEncodingAESKey = "6qkdMrq68nTKduznJYO1A37W2oEgpkMUvkttRToqhUt"
sCorpID = "ww1436e0e65a779aee"
'''
------------使ç¨ç¤ºä¾ä¸ï¼éªè¯åè°URL---------------
*ä¼ä¸å¼å¯åè°æ¨¡å¼æ¶ï¼ä¼ä¸å·ä¼åéªè¯urlåéä¸ä¸ªget请æ±
å设ç¹å»éªè¯æ¶ï¼ä¼ä¸æ¶å°ç±»ä¼¼è¯·æ±ï¼
* GET /cgi-bin/wxpush?msg_signature=5c45ff5e21c57e6ad56bac8758b79b1d9ac89fd3×tamp=1409659589&nonce=263014780&echostr=P9nAzCzyDtyTWESHep1vC5X9xho%2FqYX3Zpb4yKa9SKld1DsH3Iyt3tP3zNdtp%2B4RPcs8TgAE7OaBO%2BFZXvnaqQ%3D%3D
* HTTP/1.1 Host: qy.weixin.qq.com
æ¥æ¶å°è¯¥è¯·æ±æ¶ï¼ä¼ä¸åº 1.è§£æåºGet请æ±çåæ°ï¼å
æ¬æ¶æ¯ä½ç¾å(msg_signature)ï¼æ¶é´æ³(timestamp)ï¼éæºæ°å串(nonce)以åä¼ä¸å¾®ä¿¡æ¨éè¿æ¥çéæºå å¯å符串(echostr),
è¿ä¸æ¥æ³¨æä½URLè§£ç ã
2.éªè¯æ¶æ¯ä½ç¾åçæ£ç¡®æ§
3. è§£å¯åºechostråæï¼å°åæå½ä½Get请æ±çresponseï¼è¿åç»ä¼ä¸å¾®ä¿¡
第2ï¼3æ¥å¯ä»¥ç¨ä¼ä¸å¾®ä¿¡æä¾çåºå½æ°VerifyURLæ¥å®ç°ã
'''
wxcpt=WXBizMsgCrypt(sToken,sEncodingAESKey,sCorpID)
sVerifyMsgSig="012bc692d0a58dd4b10f8dfe5c4ac00ae211ebeb"
sVerifyTimeStamp="1476416373"
sVerifyNonce="47744683"
sVerifyEchoStr="fsi1xnbH4yQh0+PJxcOdhhK6TDXkjMyhEPA7xB2TGz6b+g7xyAbEkRxN/3cNXW9qdqjnoVzEtpbhnFyq6SVHyA=="
ret,sEchoStr=wxcpt.VerifyURL(sVerifyMsgSig, sVerifyTimeStamp,sVerifyNonce,sVerifyEchoStr)
if(ret!=0):
print "ERR: VerifyURL ret: " + str(ret)
sys.exit(1)
else:
print "done VerifyURL"
#éªè¯URLæåï¼å°sEchoStrè¿åç»ä¼ä¸å·
print "=============================="
'''
------------使ç¨ç¤ºä¾äºï¼å¯¹ç¨æ·åå¤çæ¶æ¯è§£å¯---------------
ç¨æ·å夿¶æ¯æè
ç¹å»äºä»¶ååºæ¶ï¼ä¼ä¸ä¼æ¶å°åè°æ¶æ¯ï¼æ¤æ¶æ¯æ¯ç»è¿ä¼ä¸å¾®ä¿¡å å¯ä¹åç坿以postå½¢å¼åéç»ä¼ä¸ï¼å¯ææ ¼å¼è¯·åè宿¹ææ¡£
å设ä¼ä¸æ¶å°ä¼ä¸å¾®ä¿¡çåè°æ¶æ¯å¦ä¸ï¼
POST /cgi-bin/wxpush? msg_signature=e3647471e395139e2308c1fa963f2d648a00b90e×tamp=1409659813&nonce=1372623149 HTTP/1.1
Host: qy.weixin.qq.com
{
"ToUserName": "wx5823bf96d3bd56c7",
"Encrypt": "cjhLUX7UU4yCSelv1vz7T0zT8huF51bAMVWriNvO1FMegHrQZNrtvRxbwf0fUPsFvwqR0U0fgiJNEA5Y30F2MoI2S7vv3EjVQ68C0cjw9frBoUE2Hj0BvFp9h3u6Vbsg4lc1C8AtHdaN8orKuNKkLRLuYEL52R1J3v8olJGZRLnRdVKIivixmX/eQpzgeExtp20jI1HxRP1AAZ6xZoILdqDPO549LO4WeG+685JRUTdiwcY5fjZlqeMxuT4PpMn1X9OWsS7NRj06Wa5E3Tvg4twjWp39KPfOdRte6P1T4JU=",
"AgentID": 218
}
ä¼ä¸æ¶å°post请æ±ä¹ååºè¯¥ 1.è§£æåºurlä¸çåæ°ï¼å
æ¬æ¶æ¯ä½ç¾å(msg_signature)ï¼æ¶é´æ³(timestamp)以åéæºæ°å串(nonce)
2.éªè¯æ¶æ¯ä½ç¾åçæ£ç¡®æ§ã 3.å°post请æ±çæ°æ®è¿è¡jsonè§£æï¼å¹¶å°