python如何实现远程控制电脑(结合微信)


Posted in Python onDecember 21, 2015

不知道大家有没有这样一个烦恼,“自己的电脑总是被别人使用,又不好意思设置密码”,所以利用python设计了一个程序来实现自由管控。
功能虽然简单,但大家可以通过其思路来实现更多的功能。

大致功能主要是两个部分,

  • 一、电脑开机时,我的手机能收到通知。
  • 二、可以通过手机发个特定的mail,就可以控制电脑关机。

第一个步骤申请一个邮箱,使这个邮箱与你的手机号码绑定,然后你在这个邮箱中设定如果有新的邮件就发短信通知,这样开机时往这个邮箱发个mail,我手机就会收到短信通知了。

第二个步骤通过python 脚本,定时去检查163.com邮箱中是否有指定的邮件,如果有,则执行特定功能(我的是关机)。

第一步骤申请成功以后。手机也可以通过一个号码10658139来发送mail,编辑短信格式如:test@163.com(空格)主旨(空格)正文.

这样我如果想关机,就会用手机发个mail到163邮箱,主旨是'关机',程式检测到这个mail以后就会执行关机动作。
注意:手机发送邮件时的格式,注意读取邮件时get_payload的输出,根据输出和你发的邮件内容要匹配,当时我就遇到\n的问题。

回去后想了想,既然可以用手机邮箱控制,那么大家都用的是智能机咯,而且大家都比较喜欢玩微信,那么微信里面有个邮箱助手,实时提醒你新邮件,这样可以更方便的控制你自己的机子咯!!!!!

#!/etc/bin/env python
#-*-encoding=utf-8-*-
#auth@:dengyongkai
#blog@:blog.sina.com.cn/kaiyongdeng
 
import poplib,email
from email.header import decode_header
import smtplib
import time
import os,sys
import random
 
def accp_mail():
  try:
    p=poplib.POP3('pop.qq.com')
    p.user('用户名')
    p.pass_('密码')
    ret = p.stat()
  except poplib.error_proto,e:
    return 1
    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]:
#      try:
#        strlist.append(x.decode())
#      except:
#        try:
#          strlist.append(x.decode('gbk'))
#        except:
#          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])
#    else:
#      submsg = sub[0][0]
#
#    if submsg.strip()=='startpc':
#      s.dele(i)
#      return 0
#    
#  s.quit()
#  return 1
#
  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":
      return 0
 
def send_mail():
  try:
    handle = smtplib.SMTP('smtp.163.com', 25)
    handle.login('********@163.com','密码')
    msg = "To: ********@qq.com\r\nFrom: ********@163.com\r\nSubject: startpc \r\n\r\nstart\r\n"
    handle.sendmail('********@163.com','********@qq.com', msg)
    handle.close()
    return 1
  except:
    return 0
 
 
if __name__=='__main__':
  while send_mail()==0:
    time.sleep(2)
 
  while 1:
    time.sleep(5)
    if accp_mail()==0:
      os.system('shutdown -f -s -t 10 -c closing...')
      #print "哈哈哈哈哈哈哈,成功啦!!!!!!"
      break

以上就是python实现远程控制电脑的方法,解决了大家的烦恼,赶紧试验一下吧!

Python 相关文章推荐
python进阶教程之循环相关函数range、enumerate、zip
Aug 30 Python
Python set集合类型操作总结
Nov 07 Python
go语言计算两个时间的时间差方法
Mar 13 Python
为Python的web框架编写前端模版的教程
Apr 30 Python
Python读取Excel的方法实例分析
Jul 11 Python
Python中Django发送带图片和附件的邮件
Mar 31 Python
Python可变参数用法实例分析
Apr 02 Python
答题辅助python代码实现
Jan 16 Python
python基于http下载视频或音频
Jun 20 Python
对django2.0 关联表的必填on_delete参数的含义解析
Aug 09 Python
Python 正则表达式爬虫使用案例解析
Sep 23 Python
python+Selenium自动化测试——输入,点击操作
Mar 06 Python
python从入门到精通(DAY 3)
Dec 20 #Python
python从入门到精通(DAY 2)
Dec 20 #Python
利用python代码写的12306订票代码
Dec 20 #Python
python从入门到精通(DAY 1)
Dec 20 #Python
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 #Python
用ReactJS和Python的Flask框架编写留言板的代码示例
Dec 19 #Python
使用Python编写简单的端口扫描器的实例分享
Dec 18 #Python
You might like
解析php入库和出库
2013/06/25 PHP
PHP的构造方法,析构方法和this关键字详细介绍
2013/10/22 PHP
PHP中if和or运行效率对比
2014/12/12 PHP
PHP数组操作――获取数组最后一个值的方法
2015/04/14 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
2019/04/27 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
js倒计时小程序
2013/11/05 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
2016/05/13 Javascript
原生JS实现左右箭头选择日期实例代码
2017/03/14 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
2020/11/03 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
Python的多维空数组赋值方法
2018/04/13 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
2019/02/19 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
python能否java成为主流语言吗
2020/06/22 Python
Farnell德国:电子元器件供应商
2018/07/10 全球购物
乌克兰机票、铁路和巴士票、酒店搜索、保险:Tickets.ua
2020/01/11 全球购物
泰海淘:泰国king Power王权免税集团旗下跨境海淘综合型电商
2020/07/26 全球购物
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
作为网站管理者应当如何防范XSS
2014/08/16 面试题
给男朋友的道歉信
2014/01/12 职场文书
文明生主要事迹
2014/05/25 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2015年物业管理工作总结
2015/04/23 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS