吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1825|回复: 11
收起左侧

[Python 原创] 简便的定时发送远程电脑IP到钉钉

[复制链接]
waterfis 发表于 2022-12-5 11:44
本帖最后由 waterfis 于 2022-12-8 10:01 编辑

由于公司拉专线,但没资源给固定IP,IP经常两三天一变,因此弄了个每天自动发IP到钉钉群,方便大家远程或者其他用途,欢迎大家讨论或补充

感谢坛友提点,已优化成当IP变动,才发送ip,每半小时检测一次IP变动

[Python] 纯文本查看 复制代码
#! /usr/bin/env python  
# -*- coding: utf-8 -*-
import sys
import requests
import json
from urllib.request import urlopen
from json import load
import time


def msg(text):
    token ="钉钉群的token"
    headers = {'Content-Type': 'application/json;charset=utf-8'}  # 请求头
    api_url = "https://oapi.dingtalk.com/robot/send?access_token=" + token
    json_text = {
        "msgtype": "text",  # 信息格式
        "text": {
            "content": text
        }
    }
    print(json_text)
    # 发送并打印信息
    r = requests.post(api_url, json.dumps(json_text), headers=headers).content
    print(r)


#获取IP
def get_ip():
	my_ip = resp = urlopen('http://httpbin.org/ip')
	#http://ip.42.pl/raw
	#https://api.ipify.org/?format=json
	#http://jsonip.com

	return str(my_ip.read(),"utf-8")

def start():
    currIP = "0.0.0.0"
    while True:
        ip_result = get_ip()
        ip_json = json.loads(ip_result)     #格式化返回结果
        
        ip = ip_json["origin"]

        if(ip != currIP):
            currIP = ip   #判断ip是不是一致,不一致就发送最新ip信息
            msg(ip_result) 
        
        time.sleep(1800)


if __name__ == "__main__": 
	start()

免费评分

参与人数 1吾爱币 +3 热心值 +1 收起 理由
wushaominkk + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hipda987 发表于 2022-12-16 10:27
我一般用邮箱 的方式
[Python] 纯文本查看 复制代码
import time
import socket

# 之前记录的IP地址
last_ip = "114.201.138.22"

# 每隔5秒检测一次IP地址
while True:
    # 获取当前的IP地址
    ip = socket.gethostbyname(socket.gethostname())
    if ip != last_ip:
        # 发送邮件
        sendmessage(ip)
        # 记录新的IP地址
        last_ip = ip
    time.sleep(5)




def sendmessage(change_ip)
    import smtplib
    from email.message import EmailMessage

    smtp_server = "smtp.example.com"
    smtp_port = 587

    # 设置发件人邮箱地址、密码和收件人邮箱地址
    sender_email = "sender@example.com"
    password = "password"
    receiver_email = "receiver@example.com"

    server = smtplib.SMTP(smtp_server, smtp_port)

    server.starttls()

    server.login(sender_email, password)

    message = EmailMessage()

    message["Subject"] = "IP Change Alert"
    message["From"] = sender_email
    message["To"] = receiver_email

    # 设置邮件正文
    message.set_content(change_ip)

    server.send_message(message)

    server.quit()
ly765893958 发表于 2022-12-16 09:14
不用这么麻烦  有个东西叫动态域名  路由器上面设置一下就行了   
http://www.pubyun.com/accounts/signin/?next=/user/dyndns/rrs/
我家里也是动态的公网ip   每天变动  就用的这个方法解决的
晓晓520 发表于 2022-12-6 08:18
kover 发表于 2022-12-6 08:50
应该弄成变动了再发,这样就不重复了
 楼主| waterfis 发表于 2022-12-6 09:38
kover 发表于 2022-12-6 08:50
应该弄成变动了再发,这样就不重复了

有道理,可以再优化,哈哈
cnqv 发表于 2022-12-6 12:30
支持原创
fdsuf4 发表于 2022-12-7 17:38
这倒是一个好思路,家庭宽带做外网穿透的时候是不是也可以这样考虑
netxboy 发表于 2022-12-7 19:19
钉钉群的token从哪弄, 钉钉个人号的token也可以吗?
 楼主| waterfis 发表于 2022-12-8 09:56
netxboy 发表于 2022-12-7 19:19
钉钉群的token从哪弄, 钉钉个人号的token也可以吗?

在群设置,智能群助手,添加机器人,那个Webhook就是了
leipf 发表于 2022-12-8 14:36
这个办法不错,可以修改成可以自由发送到邮箱等
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-1 07:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表