吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 869|回复: 26
上一主题 下一主题
收起左侧

[Python 原创] python配合ios快捷指令接收验证码

  [复制链接]
跳转到指定楼层
楼主
ZX0228 发表于 2025-5-6 11:02 回帖奖励
因工作需要需要频繁接收验证码,但是老是低头解锁看手机比较麻烦,于是便有了使用电脑接收验证码的想法。
使用要求:电脑,手机处于同一局域网
接收到验证码后电脑右下角会有系统弹窗。


环境:python 3.9
系统:win10 神州网信版 21H2
手机:iphon
python代码如下:
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
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
84
85
86
87
88
from flask import Flask, request, jsonify
import time
import logging
from win10toast import ToastNotifier
from datetime import datetime
 
app = Flask(__name__)
 
# 配置日志
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)
 
# 存储验证码的全局变量
verification_codes = {}
# 验证码有效期(秒)
CODE_EXPIRE_TIME = 300
 
# 创建通知器实例
toaster = ToastNotifier()
 
def send_notification(code, client_ip):
    """
    发送桌面通知
    """
    current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    message = f'验证码: {code}\n来源IP: {client_ip}\n接收时间: {current_time}\n有效期: {CODE_EXPIRE_TIME}秒'
     
    try:
        toaster.show_toast(
            "验证码提醒",
            message,
            duration=10# 显示10秒
            threaded=True  # 使用线程显示通知,避免阻塞主程序
        )
    except Exception as e:
        logger.error(f"发送通知失败: {str(e)}")
 
@app.route('/api/code', methods=['POST'])
def receive_code():
    """
    接收来自快捷指令的验证码
    """
    data = request.json
    if not data or 'code' not in data:
        return jsonify({'status': 'error', 'message': 'Invalid request'}), 400
     
    # 添加时间戳并存储验证码
    code_data = {
        'code': data['code'],
        'timestamp': int(time.time())
    }
    # 获取客户端IP
    client_ip = request.remote_addr
    # 使用IP作为键存储验证码
    verification_codes[client_ip] = code_data
     
    # 清理过期验证码
    current_time = int(time.time())
    expired_keys = [ip for ip, data in verification_codes.items()
                   if current_time - data['timestamp'] > CODE_EXPIRE_TIME]
    for ip in expired_keys:
        del verification_codes[ip]
     
    # 记录接收到的验证码信息
    logger.info(f"收到验证码 - 来源IP: {client_ip}, 验证码: {data['code']}")
     
    # 发送桌面通知
    send_notification(data['code'], client_ip)
     
    return jsonify({'status': 'success'})
 
@app.route('/api/codes', methods=['GET'])
def get_codes():
    """
    获取所有存储的验证码
    """
    # 返回时过滤掉过期验证码
    current_time = int(time.time())
    valid_codes = [data for data in verification_codes.values()
                  if current_time - data['timestamp'] <= CODE_EXPIRE_TIME]
    return jsonify({'codes': valid_codes})
 
if __name__ == '__main__':
    # 在局域网中运行,端口5000
    app.run(host='0.0.0.0', port=5000)


IOS快捷指令设置:
快捷指令→自动化→创建个人自动化→信息→选择发件人或包含信息→下一步→添加操作→脚本→添加到变量→输入→选择输入快捷指令的信息→设置变量名称→网页→获取URL内容→http://11.234.100.97:5000/api/codes。这个地址填你实际的接口地址→发放post→请求体→{"code": "设置的变量名称"} 不要手动输入 要选择

免费评分

参与人数 3吾爱币 +9 热心值 +3 收起 理由
wingking + 1 + 1 谢谢@Thanks!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
jk998 + 1 + 1 我很赞同!

查看全部评分

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

推荐
happyxuexi 发表于 2025-5-6 13:19
IOS快捷指令设置:
快捷指令→自动化→创建个人自动化→信息→选择发件人或包含信息→下一步→添加操作→脚本→添加到变量→输入→选择输入快捷指令的信息→设置变量名称→网页→获取URL内容→http://11.234.100.97:5000/api/codes。这个地址填你实际的接口地址→发放post→请求体→{"code": "设置的变量名称"} 不要手动输入 要选择

功能很强大。用delphi做了个接收客户端,谢谢分享。


推荐
 楼主| ZX0228 发表于 2025-5-6 13:14 |楼主
GenX 发表于 2025-5-6 12:32
手机端应该怎么设置

IOS快捷指令设置:
快捷指令→自动化→创建个人自动化→信息→选择发件人或包含信息→下一步→添加操作→脚本→添加到变量→输入→选择输入快捷指令的信息→设置变量名称→网页→获取URL内容→http://11.234.100.97:5000/api/codes。这个地址填你实际的接口地址→发放post→请求体→{"code": "设置的变量名称"} 不要手动输入 要选择

免费评分

参与人数 1热心值 +1 收起 理由
GenX + 1 热心回复!

查看全部评分

3#
 楼主| ZX0228 发表于 2025-5-6 11:03 |楼主
进阶玩法,可以结合之前发的监控微信的代码,接收到验证码后转发到指定微信聊天窗口
4#
358059103 发表于 2025-5-6 11:06
学习一下,感谢分享
5#
cyxnzb 发表于 2025-5-6 11:31
可以,不过也可以使用Windows自带的手机连接功能,通知都能推送到电脑上去
6#
xuzhihao 发表于 2025-5-6 11:43
感谢分享,学到不少
7#
zhaoleji 发表于 2025-5-6 11:52
这也可以 歪,nice 学习到了
8#
gusong125 发表于 2025-5-6 12:00
安卓的不知道可不可以这么整...太有用了
9#
 楼主| ZX0228 发表于 2025-5-6 12:08 |楼主
gusong125 发表于 2025-5-6 12:00
安卓的不知道可不可以这么整...太有用了

华为和小米好像自带快捷指令之类的软件,其他品牌可以试试Tasker,设置方法和ios类似
10#
GenX 发表于 2025-5-6 12:32
手机端应该怎么设置
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-5-28 22:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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