adb 与pad 交互方法

event

python 复制代码
import requests
import time
import random
import os

# http://fspcdiy.d33173.chshtzs.com/action.php
# 连接设备(有线直接连接,无线需先执行adb tcpip 5555)
os.system('adb devices')  # 验证连接


# 定义点击函数
def tap(x, y):
    os.system(f'adb shell input tap {x} {y}')


def check_status():
    # 添加随机参数和禁用缓存的请求头
    timestamp = int(time.time())
    rand = random.randint(0, 9999)
    url = f"http://fspcdiy.d33173.chshtzs.com/do.php?cmd=status&_={timestamp}{rand}"

    headers = {
        'Cache-Control': 'no-cache, no-store, must-revalidate',
        'Pragma': 'no-cache',
        'Expires': '0'
    }

    try:
        response = requests.get(url, headers=headers)
        if response.status_code == 200:
            content = response.text.strip()
            if content.startswith("Current action: "):
                value = content[len("Current action: "):].strip()
                print('test:' + value)
                return value
        return None
    except requests.RequestException as e:
        print(f"请求出错: {e}")
        return None


def delete_action():
    # 同样为delete请求添加防缓存措施
    timestamp = int(time.time())
    rand = random.randint(0, 9999)
    delete_url = f"http://fspcdiy.d33173.chshtzs.com/do.php?cmd=delete&_={timestamp}{rand}"

    headers = {
        'Cache-Control': 'no-cache, no-store, must-revalidate',
        'Pragma': 'no-cache',
        'Expires': '0'
    }

    try:
        requests.get(delete_url, headers=headers)
    except requests.RequestException as e:
        print(f"删除操作出错: {e}")


def main():
    while True:
        value = check_status()

        if value and value != "No action stored":
            if value == "UP":
                print("UP")
                # 向上
                tap(1719, 510)
                time.sleep(3)
                delete_action()
            elif value == "DOWN":
                print("DOWN")
                # 向下
                tap(1719, 688)
                time.sleep(3)
                delete_action()
            elif value == "LEFT":
                print("LEFT")
                # 向左
                tap(1626, 606)
                time.sleep(3)
                delete_action()
            elif value == "RIGHT":
                print("RIGHT")
                # 向右
                tap(1800, 596)
                time.sleep(3)
                delete_action()
            elif value == "CLAMP":
                print("CLAMP")
                # 夹子
                tap(1000, 1132)
                time.sleep(3)
                delete_action()
            elif value == "FOOD1":
                print("FOOD1")
                # 动作1 上
                tap(285, 521)
                time.sleep(3)
                delete_action()
            elif value == "FOOD2":
                print("FOOD2")
                # 动作2 下
                tap(290, 704)
                time.sleep(3)
                delete_action()
            elif value == "FOOD3":
                print("FOOD3")
                # 动作3 左
                tap(195, 607)
                time.sleep(3)
                delete_action()
            elif value == "FOOD4":
                print("FOOD4")
                # 动作4 右
                tap(377, 608)
                time.sleep(3)
                delete_action()
            else:
                print(f"未知动作: {value}")

        time.sleep(3)


if __name__ == "__main__":
    main()

do.php

php 复制代码
<?php
// 定义存储文件路径
$storage_file = 'shared_action.txt';

if (isset($_GET['action'])) {
    file_put_contents($storage_file, $_GET['action']);
    echo "Action stored: " . htmlspecialchars($_GET['action']);
} elseif (isset($_GET['cmd'])) {
    $command = strtolower($_GET['cmd']);
    
    if ($command === 'status') {
        if (file_exists($storage_file)) {
            echo "Current action: " . htmlspecialchars(file_get_contents($storage_file));
        } else {
            echo "No action stored";
        }
    } elseif ($command === 'delete') {
        if (file_exists($storage_file)) {
            unlink($storage_file);
        }
        echo "Action deleted successfully";
    } else {
        echo "Invalid command";
    }
} else {
    // 显示使用说明
    echo "<h1>Action Management System</h1>";
    // ... 其余HTML代码 ...
}
?>
相关推荐
AIOT魔法师2 天前
修复Android studio的adb无法连接手机问题
adb·智能手机·android studio
gamers2 天前
rock linux 9 安装mysql 5.7.44
linux·mysql·adb
独行soc2 天前
2025年渗透测试面试题总结-67(题目+回答)
网络·python·安全·web安全·网络安全·adb·渗透测试
sibylyue3 天前
MySQLTransactionRollbackException
adb
快乐觉主吖3 天前
adb的常用命令
adb
好名字更能让你们记住我3 天前
MYSQL数据库初阶 之 MYSQL用户管理
linux·数据库·sql·mysql·adb·数据库开发·数据库架构
哥哥还在IT中3 天前
mysql分库分表数据量核查问题
数据库·mysql·adb
paid槮3 天前
MySql基础:数据类型
android·mysql·adb
独行soc3 天前
2025年渗透测试面试题总结-66(题目+回答)
java·网络·python·安全·web安全·adb·渗透测试
残影飞雪4 天前
如何在 Debian 12 上安装 MySQL
mysql·adb·debian