python 构建client 程序

Python Socket 微信模板消息发送
本文介绍了一个使用 Python 的 socket 模块发送微信模板消息的示例代码。通过建立 TCP 连接并发送特定格式的消息数据包,可以实现向指定用户推送定制化的消息内容。文中展示了如何构造 JSON 格式的模板消息,并通过 socket 发送到指定服务器。
#!/usr/bin/python


import socket
import time
import struct
import sys
#sys.setdefaultencoding('utf-8')
HOST='xx.xx.xx.xx'
PORT=5045
#5028




sMsg='{\
           "touser":"ozgdWsGmyt9yKA",\
           "template_id":"5PXWtR6rKuF0iOETvMumyj87I",\
           "url":"http://weixin.qq.com/download",            \
           "data":{\
                   "first": {\
                       "value":"congratulations",\
                       "color":"#173177"\
                   },\
                   "keynote1":{\
                       "value":"chocalate",\
                       "color":"#173177"\
                   },\
                   "keynote2": {\
                       "value":"39.8",\
                       "color":"#173177"\
                   },\
                   "keynote3": {\
                       "value":"2014 9 22 ",\
                       "color":"#173177"\
                   },\
                   "remark":{\
                       "value":"welcome",\
                       "color":"#173177"\
                   }\
           }\
       }'


#pushMsg=''
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)      
s.connect((HOST,PORT))    
cmd=''
sleepTime=0
if sys.argv[1] == '1':
cmd = 'appid=wx8&cmd='+sys.argv[1]+'&subcmd='+sys.argv[2]+'&sign=a3f703249ec0725a91b0a81a3817366a'
sleepTime = sys.argv[3]
elif sys.argv[1] == '2':
cmd = 'appid=wxb373ae&cmd='+sys.argv[1]+'&openid=test_openid'+'&msg='+sMsg+'&sign=a3f703249ec0725a91b0a81a3817366a'
sleepTime = sys.argv[2]
while 1:


length=int(len(cmd));

lenStr = struct.pack('i',length);
print ('len  = [%d]' %(len(lenStr)))
s.sendall(lenStr+cmd) 
print ('sendall data=[%s]' %(lenStr+cmd)) 
data=s.recv(1024)    
print data        
time.sleep(float(sleepTime))
s.close()   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值