如何用python 发送短信实现从传感器发送数据和消息到短信和微信等

gm655 的BLOG
用户名:gm655
文章数:73
评论数:23
访问量:119308
注册日期:
阅读量:5863
阅读量:12276
阅读量:404174
阅读量:1093153
51CTO推荐博文
&&&&微信公众有两种,服务号和订阅号,服务号需要公司的执照和组织代码,申请很麻烦,所以我们申请一个订阅号即可。申请地址&&&&&网上有一个是利用node.js 写的,原理就是利用程序模拟用户登录微信公众平台后台,通过网页回复用户信息&&&&import&urllib
import&urllib2
import&random
import&cookielib
import&json
import&urlparse
import&sys
#构造登录数据
data={'username':'',&&&#用户名
&&&&&&'pwd':'2eb83fe4371808daa5477e',&#加密后的密码
&&&&&&'imgcode':'',
&&&&&&'f':'json'
#Referer&很重要,不然会报错的
header&=&[('User-Agent','Mozilla/5.0&(Windows&NT&6.1;&WOW64;&rv:14.0)&Gecko/&Firefox/14.0.1'),('Referer','
#构造cookie&
cj&=&cookielib.LWPCookieJar()
cookie_suppot&=&urllib2.HTTPCookieProcessor(cj)
opener&=&urllib2.build_opener(cookie_suppot,urllib2.HTTPHandler)
opener.addheaders&=&header
urllib2.install_opener(opener)
request&=&urllib2.Request('https://mp./cgi-bin/login?lang=zh_CN',urllib.urlencode(data))
conn=opener.open(request)
js&=&json.loads(conn.read())
#获取令牌,可以从登录后的返回结果中获取,PS:因为这个字符串不是固定的,所以需要获取
token&=&dict(urlparse.parse_qsl(js['redirect_url']))['token']
#发送消息的URL
url="https://mp./cgi-bin/singlesend"
#构造发送信息的数据,使用POST方法
data1={'type':'1',
&&&&&&&'content':'这是要发送的数据',
&&&&&&&'tofakeid':'',&&#接受消息的订阅人,可以从页面中获取
&&&&&&&'imgcode':'',
&&&&&&&'token':&token,&&&&&&&&&#令牌
&&&&&&&'lang':'zh_CN',
&&&&&&&'random':random.random(),&&&#小于1的随机数
&&&&&&&'f':'json',
&&&&&&&'ajax':'1',
&&&&&&&'t':'ajax-response',
qe&=&urllib2.Request(url,urllib.urlencode(data1))
res&=&opener.open(qe)&&&&以上只是演示代码,大家可以自行更改配合nagios,还有个重要的问题就是微信有个48小时限制,意思就是:订阅号只能回复48小时内和订阅号互动的人本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
10:57:37 22:02:13 11:43:21 11:46:00 11:48:32python如何实现远程控制电脑(结合微信)
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了python如何实现远程控制电脑,利用python设计了一个程序来实现自由管控,感兴趣的小伙伴们可以参考一下
不知道大家有没有这样一个烦恼,“自己的电脑总是被别人使用,又不好意思设置密码”,所以利用python设计了一个程序来实现自由管控。
功能虽然简单,但大家可以通过其思路来实现更多的功能。
大致功能主要是两个部分,
一、电脑开机时,我的手机能收到通知。
二、可以通过手机发个特定的mail,就可以控制电脑关机。
第一个步骤:申请一个邮箱,使这个邮箱与你的手机号码绑定,然后你在这个邮箱中设定如果有新的邮件就发短信通知,这样开机时往这个邮箱发个mail,我手机就会收到短信通知了。
第二个步骤:通过python 脚本,定时去检查邮箱中是否有指定的邮件,如果有,则执行特定功能(我的是关机)。
第一步骤申请成功以后。手机也可以通过一个号码来发送mail,编辑短信格式如:(空格)主旨(空格)正文.
这样我如果想关机,就会用手机发个mail到163邮箱,主旨是'关机',程式检测到这个mail以后就会执行关机动作。
注意:手机发送邮件时的格式,注意读取邮件时get_payload的输出,根据输出和你发的邮件内容要匹配,当时我就遇到\n的问题。
回去后想了想,既然可以用手机邮箱控制,那么大家都用的是智能机咯,而且大家都比较喜欢玩微信,那么微信里面有个邮箱助手,实时提醒你新邮件,这样可以更方便的控制你自己的机子咯!!!!!
#!/etc/bin/env python
#-*-encoding=utf-8-*-
#auth@:dengyongkai
#blog@:.cn/kaiyongdeng
import poplib,email
from email.header import decode_header
import smtplib
import time
import os,sys
import random
def accp_mail():
p=poplib.POP3('')
p.user('用户名')
p.pass_('密码')
ret = p.stat()
except poplib.error_proto,e:
print "Login failed:",e
sys.exit(1)
for i in range(1,ret[0]+1):
str=s.top(i,0)
strlist=[]
for x in str[1]:
strlist.append(x.decode())
strlist.append(x.decode('gbk'))
strlist.append(x.decode('big5'))
mm = email.message_from_string('\n'.join(strlist))
sub=decode_header(mm['subject'])
if sub[0][1]:
submsg = sub[0][0].decode(sub[0][1])
submsg = sub[0][0]
if submsg.strip()=='startpc':
for item in p.list()[1]:
number,octets = item.split(' ')
print "Message %s: %sbytes"%(number,octets)
lines = p.retr(number)[1]
msg = email.message_from_string("\n".join(lines))
print msg.as_string()
print msg.get_payload()
if msg.get_payload()=="start\n\n":
def send_mail():
handle = smtplib.SMTP('', 25)
handle.login('********@','密码')
msg = "To: ********@qq.com\r\nFrom: ********@\r\nSubject: startpc \r\n\r\nstart\r\n"
handle.sendmail('********@','********@qq.com', msg)
handle.close()
if __name__=='__main__':
while send_mail()==0:
time.sleep(2)
time.sleep(5)
if accp_mail()==0:
os.system('shutdown -f -s -t 10 -c closing...')
#print "哈哈哈哈哈哈哈,成功啦!!!!!!"
以上就是python实现远程控制电脑的方法,解决了大家的烦恼,赶紧试验一下吧!
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具python 微信推送模板消息 - 突袭新闻
当前位置&:&&&&python 微信推送模板消息
热门标签:&
python 微信推送模板消息
编辑:章玉评论:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import httplib
import json
import MySQLdb
#从数据库中获取access_token
access_token=&&
conn=MySQLdb.connect(host='192.168.1.1',user='root',passwd='root',db='db_weixin',port=3306)
cur=conn.cursor()
cur.execute('select access_token from weixin_public')
result=cur.fetchone()
#print result
#print result[0]
access_token=result[0]
cur.close()
conn.close()
except MySQLdb.Error,e:
print &Mysql Error %d: %s& % (e.args[0], e.args[1])
#根据接口推送消息
if not access_token is None:
conn = httplib.HTTPConnection(&api.:80&)#微信接口链接
headers = {&Content-type&:&application/json&} #application/x-www-form-urlencoded
params = ({'touser' : &oEGZ4johnKOtayJbnEVeuaZr6zQ0&,#用户openid
'template_id' : 'AtFuydv8k_15UGZuFntaBzJRCsHCkjNm1dcWD3A-11Y',#模板消息ID
'url' : 'http://www.710.so',#跳转链接
&topcolor& : &#667F00&,#颜色
&data& : {#模板内容
&first& : {&value& : &尊敬的710.so : 您的网站http://www.710.so (192.168.1.1) 有异常访问&, &color& : &#173177&},
&keyword1& : {&value& : &访问时间
15:30:59 访问IP 192.168.1.2&, &color& : &#173177&},
&keyword2& : {&value& : &访问链接 http://www.710.so&, &color& : &#173177&},
&remark& : {&value& : &访问频率 10/s&, &color& : &#173177&}
conn.request(&POST&, &/cgi-bin/message/template/send?access_token=&+access_token, json.JSONEncoder().encode(params), headers)#推送消息请求
response = conn.getresponse()
data = response.read()#推送返回数据
if response.status == 200:
print 'success'
print data
print 'fail'
conn.close()}

我要回帖

更多关于 python3 发送微信消息 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信