網站改版|WAP網站制作|域名注冊|虛擬主機|服務器|海微商|海微信|海微通| 24小時服務電話:13807590485
海南網站建設海南網站制作海口網站建設三亞網站建設儋州網站建設五指山網站建設文昌網站建設瓊海網站建設萬寧網站建設東方網站建設定安網站建設 網站首頁網站首頁 網站建設網站建設 微信開發微信開發 網站推廣網站推廣 海南網站建設,海南網站開發制作,海南網頁設計,海南小程序開發,海南微信公眾號開發,海南網絡公司,海南世紀華聯海南世紀華聯 網站超市網站超市 客戶案例客戶案例 網站模板網站模板 關于我們關于我們
微信開發
微信系統開發 微信開發功能 公眾號基礎教程 開發技術資訊 公眾號推廣營銷 客戶案例
聯系我們
QQ服務群:28519571 工作時間:86-0898-31568080 傳真號碼:86-0898-31568085 24小時服務:0138-07590485
 您現在的位置: 首頁 >> 微信開發 >> 開發技術資訊 開發技術資訊
使用PYTHON 模擬微信服務端
世紀華聯 | 2018-01-26 23:57:40 | 閱讀:4432
# -*- 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()
海南網站建設|海南網站制作|海口網站建設|三亞網站建設|儋州網站建設|五指山網站建設|文昌網站建設|瓊海網站建設|萬寧網站建設|東方網站建設|定安網站建設|屯昌網站建設|澄邁網站建設|臨高網站建設|白沙網站建設|昌江網站建設|樂東網站建設|陵水網站建設|保亭網站建設|瓊中網站建設|海口精英網|三亞精英網|文昌精英網|瓊海精英網|陵水精英網|儋州精英網|萬寧精英網|澄邁精英網|海微通
合作伙伴 企業發展 企業文化 聯系我們 在線訂購 網站地圖 返回首頁手機版
海口世紀華聯科技有限公司2020版權所有 24小時服務熱線:13807590485   歡迎來電咨詢
地址:海南省.海口市.海甸二東路環惠大廈6樓(南寶路明都大廈107#) 公司電話:0898-31568080 31568060 QQ:85398489
全國合作聯盟分布:海南海口 四川成都 湖北武漢 湖南長沙 安徽合肥 廣東深圳 山西太原 西藏拉薩
技術服務: E_mail:server@web0898.net 服務訂購:E_mail:server@web0898.net 在線客服邀請 瓊ICP備10201086號-9
推廣關鍵字:海南網站建設,海南網站制作,海南網站開發,海南微信開發,海南微信公眾號開發,海南微信公眾號代運營,海南模板網站制作,海南網頁設計,海南網絡公司
(*^▽^*)MG特工简.布隆德归来在线客服 币赢比特币莱特币交易分析系统okcoin专版 伯乐彩票平台 彩富足彩网 曼联vs埃弗顿比分预测 淘宝理财官方网站 国标麻将番数图解 云南时时彩计划人工计划-点击进入 15选5开奖结果查询 大乐透走势图带连线 贵州11选5开奖直播 最快的j篮球比分 单机手机棋牌游戏 手机打麻将软件开好友房 手机真人龙虎斗 刮刮乐中奖100万几率 海南环岛赛公司