一种无需内网穿透的Windows远程访问方法

1. 首先,电脑需要有ipv6地址。如果没有的话建议百度,先让电脑拥有ipv6地址(具体地址不需要记下来,第三步中代码会自动获取)。有了ipv6地址就可以不用内网穿透,任何网络都能访问。

2. 此处以QQ邮箱为例,QQ邮箱的发件服务器是smtp.qq.com。在浏览器登录QQ邮箱后,在设置中开启POP3/SMTP服务,如下图所示。然后你会得到一串密码,记下来。

 

3. 安装python环境,这个很简单,百度有很多教程。然后复制如下python代码,保存为.py文件,把该文件保存在一个自己知道的地方。

这个代码的含义就是获取电脑的ipv6地址,然后通过邮件发送给自己。因为有时候电脑的ipv6地址会变,所以需要自动获取更新,发送到自己邮箱,这样即使地址变化也能远程获取最新地址。

代码中所有xxxxxx都需要按照自己的情况填写,发送邮箱和接收邮箱的地址建议填写同一个QQ邮箱账号,password就是上一步获取的密码,发送者名称、接收者名称、主题随便填就可以。

import socket
import smtplib
from email.mime.text import MIMEText
from email.header import Header

  
addr = socket.getaddrinfo(socket.gethostname(),port=80)
ip_0 = addr[0][4][0]
ip_1 = addr[1][4][0]
ip_2 = addr[2][4][0]
TEXT = "TIME:  " + date + "\n"
TEXT = TEXT + "ipv6:  " + ip_0 + "\n" + "ipv6:  " + ip_1 + "\n" + "ipv4:  " + ip_2
    
from_addr = "xxxxxxx@qq.com" # 发送邮件的地址
to_addr = "xxxxxxx@qq.com" # 接收邮件的地址
password = "xxxxxxxxxxxxxxx"
smtp_server = 'smtp.qq.com'

msg = MIMEText(TEXT, "plain", "utf-8") # 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码
msg['From'] = Header("XXX")  # 发送者名称
msg['To'] = Header("XXX")  # 接收者名称
subject = "XXXXXXX" # 主题名称
msg['Subject'] = Header(subject, 'utf-8')  # 邮件主题
    
smtpobj = smtplib.SMTP_SSL(smtp_server)
smtpobj.connect(smtp_server, 465)    
smtpobj.login(from_addr, password)   
smtpobj.sendmail(from_addr, to_addr, msg.as_string()) 
smtpobj.quit()  #Close server
    

4. 那么这个代码必须双击文件才能运行,人在外地怎么办呢?岂不是没用?当然不是。

利用Windows自带功能:任务计划程序,如下图所示:

 在操作-创建任务,根据相关设置,就可以自定义定时运行代码了,比如我设置每天6点和12点自动运行。具体怎么设置百度即可。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值