当前位置: 首页 > news >正文

python+selenium实现自动联网认证,并实现断网重连

python+selenium实现自动联网认证,并实现断网重连

@echo off
python “E:\autoD\auto_login.py”

要使自动登录脚本在系统重启后自动运行,你可以使用Windows的任务计划程序来设置。以下是详细的步骤:

1. 保存脚本

首先,将你的Python脚本保存为一个文件,例如 auto_login.py

2. 创建批处理文件

为了方便任务计划程序调用,我们可以创建一个批处理文件(.bat)来运行Python脚本。假设你已经安装了Python,并且Python的路径已经添加到系统的环境变量中。

  1. 打开记事本或任何文本编辑器。
  2. 输入以下内容:
    @echo off
    python "C:\path\to\your\script\auto_login.py"
    
  3. 将上述内容保存为 run_auto_login.bat,确保路径指向你的Python脚本的实际位置。

3. 设置任务计划程序

  1. 打开任务计划程序

    • Win + R 打开运行对话框,输入 taskschd.msc 并按回车,打开任务计划程序。
  2. 创建基本任务

    • 在右侧操作栏中点击“创建基本任务…”。
    • 输入任务名称,例如“自动登录认证”,然后点击“下一步”。
    • 选择触发器为“当计算机启动时”,点击“下一步”。
    • 选择操作为“启动程序”,点击“下一步”。
  3. 配置启动程序

    • 浏览并选择刚刚创建的 run_auto_login.bat 文件。
    • 点击“下一步”,然后点击“完成”。
  4. 高级设置(可选):

    • 如果需要进一步配置任务,可以在任务列表中找到你创建的任务,右键点击它,选择“属性”。
    • 在“常规”选项卡中,可以设置任务的描述、安全选项等。
    • 在“触发器”选项卡中,可以设置更具体的触发条件。
    • 在“操作”选项卡中,可以查看和修改启动的程序。
    • 在“条件”和“设置”选项卡中,可以设置更多的任务执行条件和行为。

4. 测试任务

  1. 手动测试

    • 你可以在任务计划程序中手动运行这个任务,以确保它能够正确执行。
    • 右键点击任务,选择“运行”。
  2. 重启测试

    • 重启计算机,检查任务是否在启动时自动运行。

5. 验证脚本

  • 确保Python脚本和WebDriver路径正确。
  • 确保浏览器驱动(如ChromeDriver)已下载并放置在正确的路径。
  • 确保Python和WebDriver版本兼容。

6. 其他注意事项

  • 权限问题:确保任务计划程序有足够的权限运行脚本。
  • 防火墙和杀毒软件:确保防火墙和杀毒软件不会阻止脚本的运行。
  • 日志记录:如果需要调试,可以在Python脚本中添加日志记录,以便追踪脚本的执行情况。

通过以上步骤,你应该能够成功设置一个在系统重启后自动运行的自动登录脚本。如果有任何问题,请随时告诉我。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

设置WebDriver路径

webdriver_path = r’C:\Program Files\Google\Chrome\chromedriver-win64\chromedriver.exe’ # #请下载这个!!!!!替换为你的WebDriver实际路径
service = Service(webdriver_path)

创建一个新的浏览器实例

driver = webdriver.Chrome(service=service)

try:
# 打开认证页面
driver.get(“http://172.1sType=1”)

# 等待页面加载
wait = WebDriverWait(driver, 10)# 填写用户名
username_field = wait.until(EC.presence_of_element_located((By.ID, "username")))
username_field.send_keys('dfdfg')# 填写密码
password_field = wait.until(EC.presence_of_element_located((By.ID, "password")))
password_field.send_keys('Z')# 选择“已阅读并同意用户须知”复选框
agree_checkbox = wait.until(EC.element_to_be_clickable((By.XPATH, "//img[@id='agreeCheck']")))
agree_checkbox.click()# 提交表单
submit_button = wait.until(EC.element_to_be_clickable((By.ID, "loginBtn")))
submit_button.click()# 如果需要保持页面打开一段时间,可以增加等待时间
time.sleep(5)  # 可以根据需要调整等待时间

finally:
# 关闭浏览器
driver.quit()

###查看网页源代码

  已阅读并同意用户须知 忘记密码 注册

根据上面修改下面的参数

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

设置WebDriver路径

webdriver_path = r’E:\Program Files\Tencent\QQBrowser\QQBrowser.exe’ # 请替换为你的WebDriver实际路径
service = Service(webdriver_path)

创建一个新的浏览器实例

driver = webdriver.Chrome(service=service)

try:
# 打开认证页面
driver.get(“http://174ype=1”)

# 等待页面加载
wait = WebDriverWait(driver, 10)# 填写用户名
username_field = wait.until(EC.presence_of_element_located((By.NAME, "username")))  # 替换为实际的用户名输入框name属性
username_field.send_keys('44g')# 填写密码
password_field = wait.until(EC.presence_of_element_located((By.NAME, "password")))  # 替换为实际的密码输入框name属性
password_field.send_keys('45')# 选择“已阅读并同意用户须知”复选框
agree_checkbox = wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@type='checkbox']")))  # 根据实际情况调整XPath
agree_checkbox.click()# 提交表单
submit_button = wait.until(EC.element_to_be_clickable((By.XPATH, "//button[@type='submit']")))  # 根据实际情况调整XPath
submit_button.click()# 如果需要保持页面打开一段时间,可以增加等待时间
time.sleep(5)  # 可以根据需要调整等待时间

finally:
# 关闭浏览器
driver.quit()

要实现一个批处理文件(.bat),该文件能够自动检查网络状态并在网络出现问题时重新运行 auto_login.py,你可以使用以下步骤来创建这个批处理文件。这个批处理文件将定期 ping 百度,并在检测到网络问题时重新运行 auto_login.py。同时,它会将日志记录到一个文本文件中。

批处理文件示例

  1. 创建一个新的批处理文件
    • 打开记事本或任何文本编辑器。
    • 将以下内容复制并粘贴到编辑器中。
@echo off
setlocal:: 设置日志文件路径
set log_file=E:\autoD\network_log.txt:: 初始登录
echo [%date% %time%]: Initial login >> %log_file%
python "E:\autoD\auto_login.py" >> %log_file% 2>&1:: 设置检查间隔时间(秒)
set nexttime=60:loop
:: Ping 百度四次
for /f "tokens=4" %%i in ('ping -n 4 www.baidu.com ^| find "Reply from"') do set icmp_cnt=%%i:: 获取成功的 ICMP 包数量
set /a success_count=0
for /f "tokens=1,2 delims== " %%i in ('ping -n 4 www.baidu.com ^| find "Reply from"') do set /a success_count+=1:: 记录当前时间和 ping 结果
echo [%date% %time%]: ping receives: %success_count% / 4 >> %log_file%:: 如果 ping 失败(ICMP 包少于 4 个),重新登录
if %success_count% LSS 4 (echo [%date% %time%]: Network issue detected, re-login >> %log_file%python "E:\autoD\auto_login.py" >> %log_file% 2>&1
):: 等待指定的时间间隔
timeout /t %nexttime% >nul
goto loop
  1. 保存文件
    • 将文件保存为 network_checker.bat,确保扩展名为 .bat

解释

  • 日志文件network_log.txt 用于记录每次 ping 的结果和重新登录的时间。
  • 初始登录:脚本启动时首先执行一次 auto_login.py,并将输出重定向到日志文件。
  • Ping 检查:每隔 60 秒 ping 百度四次,并统计成功的 ICMP 包数量。
  • 网络问题检测:如果成功的 ICMP 包数量少于 4 个,则认为网络有问题,并重新运行 auto_login.py
  • 日志记录:每次 ping 的结果和重新登录的操作都会记录到 network_log.txt 文件中。
  • 循环:使用 :loop 标签和 goto loop 实现无限循环。

使用方法

  1. 将上述批处理文件保存为 network_checker.bat,并将其放置在与 auto_login.py 同一级目录下。
  2. 在命令提示符或 PowerShell 中运行该批处理文件:
    E:\autoD\network_checker.bat
    

注意事项

  • 确保 auto_login.py 脚本在同一目录下,并且可以正常运行。
  • 如果你希望脚本在后台运行,可以使用 nohup 或者将脚本打包成一个 Windows 服务。
  • 如果需要更复杂的日志管理(如日志轮转),可以考虑使用专门的日志管理工具。

通过这种方式,你可以实现在 Windows 上定期检查网络状态并在网络出现问题时自动重新登录的功能。

sshpass 是一个非常方便的工具,可以用来非交互式地提供 SSH 密码。你已经提到使用 sshpass.exe 来实现这个功能。以下是一个批处理脚本示例,它使用 sshpass 来自动输入密码,并定期检查 SSH 连接状态,如果连接断开则重新连接。

批处理脚本

@echo off
setlocal enabledelayedexpansion:: 设置变量
set "sshCommand=ssh -g -N -R 1dfd.2:3389:localhost:3389 -o ServerAliveInterval=60 root@4f.12fdf8.178"
set "password=666666"
set "sshpassPath=C:\path\to\sshpass.exe"  :: 替换为你的 windows 版本的sshpass.exe 的实际路径:: 延迟一段时间以确保系统完全启动
ping localhost -n 31 >nul:initial_connect
:: 初始连接
start "" %sshpassPath% -p %password% %sshCommand%
ping localhost -n 2 >nul:check_and_reconnect
:: 检查 SSH 连接是否存活
tasklist | findstr /C:"ssh.exe" >nul
if errorlevel 1 (:: 如果连接断开,重新连接goto initial_connect
):: 每隔 60 秒检查一次
ping localhost -n 61 >nul
goto check_and_reconnect

解释

  1. 设置变量

    • sshCommand:包含 SSH 命令。
    • password:SSH 密码。
    • sshpassPathsshpass.exe 的路径,请替换为你实际的 sshpass.exe 路径。
  2. 延迟一段时间以确保系统完全启动

    • 使用 ping localhost -n 31 >nul 命令等待 30 秒(-n 31 表示发送 31 个 ping 请求,每个请求间隔 1 秒)。
  3. 初始连接

    • 使用 start 命令打开一个新的命令提示符窗口,并运行 sshpass 来处理 SSH 连接和密码输入。
    • sshpass -p %password% %sshCommand% 会自动输入密码并执行 SSH 命令。
    • 使用 ping localhost -n 2 >nul 命令等待 1.5 秒(-n 2 表示发送 2 个 ping 请求,每个请求间隔 1 秒)。
  4. 检查 SSH 连接是否存活

    • 使用 tasklistfindstr 检查是否有 ssh.exe 进程在运行。
    • 如果没有找到 ssh.exe 进程(errorlevel 1),则跳转到 initial_connect 标签重新连接。
  5. 每隔 60 秒检查一次

    • 使用 ping localhost -n 61 >nul 命令等待 60 秒(-n 61 表示发送 61 个 ping 请求,每个请求间隔 1 秒),然后再次检查连接状态。

注意事项

  • 安全性:将密码硬编码在脚本中是非常不安全的做法。建议使用 SSH 密钥对认证来提高安全性。
  • 依赖性:此脚本依赖于 sshpass.exe,请确保 sshpass.exe 在你的系统上可用,并且路径配置正确。
  • 权限:可能需要管理员权限来运行某些命令,特别是涉及到进程管理的部分。

使用方法

  1. 保存脚本

    • 将上述批处理代码保存为一个 .bat 文件,例如 auto_ssh_reverse_tunnel.bat
  2. 运行批处理文件

    • 双击 auto_ssh_reverse_tunnel.bat 文件,或者在命令提示符中运行它:
      auto_ssh_reverse_tunnel.bat
      

通过这个批处理脚本,你应该能够更可靠地实现 SSH 自动连接和密码输入。如果仍然遇到问题,请确保 sshpass.exe 已正确安装,并且路径配置正确。

整合认证和ssh

你可以将两个任务整合到一个批处理文件中。首先,运行 Python 脚本 auto_login.py,等待其执行完毕,然后再启动 SSH 连接并定期检查连接状态。以下是整合后的批处理脚本:

@echo off
setlocal enabledelayedexpansion:: 设置变量
set "sshCommand=ssh -g -N -R 1d.2:3389:localhost:3389 -o ServerAliveInterval=60 root@47d8"
set "password=f666664"
set "sshpassPath=E:\autoD\sshpass.exe"  :: 替换为你的 sshpass.exe 的实际路径
set "pythonScript=E:\autoD\auto_login.py"  :: 替换为你的 Python 脚本的实际路径:: 运行 Python 脚本并等待其执行完毕
echo Running Python script...
python "%pythonScript%"
if %errorlevel% neq 0 (echo Python script failed with error code %errorlevel%exit /b %errorlevel%
):: 延迟一段时间以确保系统完全启动
ping localhost -n 31 >nul:initial_connect
:: 初始连接
start "" %sshpassPath% -p %password% %sshCommand%
ping localhost -n 2 >nul:check_and_reconnect
:: 检查 SSH 连接是否存活
tasklist | findstr /C:"ssh.exe" >nul
if errorlevel 1 (:: 如果连接断开,重新连接goto initial_connect
):: 每隔 60 秒检查一次
ping localhost -n 61 >nul
goto check_and_reconnect

解释

  1. 设置变量

    • sshCommand:包含 SSH 命令。
    • password:SSH 密码。
    • sshpassPathsshpass.exe 的路径,请替换为你实际的 sshpass.exe 路径。
    • pythonScript:Python 脚本的路径,请替换为你实际的 Python 脚本路径。
  2. 运行 Python 脚本并等待其执行完毕

    • 使用 python 命令运行 Python 脚本。
    • 检查 python 命令的退出代码 (errorlevel),如果非零则输出错误信息并退出批处理脚本。
  3. 延迟一段时间以确保系统完全启动

    • 使用 ping localhost -n 31 >nul 命令等待 30 秒(-n 31 表示发送 31 个 ping 请求,每个请求间隔 1 秒)。
  4. 初始连接

    • 使用 start 命令打开一个新的命令提示符窗口,并运行 sshpass 来处理 SSH 连接和密码输入。
    • sshpass -p %password% %sshCommand% 会自动输入密码并执行 SSH 命令。
    • 使用 ping localhost -n 2 >nul 命令等待 1.5 秒(-n 2 表示发送 2 个 ping 请求,每个请求间隔 1 秒)。
  5. 检查 SSH 连接是否存活

    • 使用 tasklistfindstr 检查是否有 ssh.exe 进程在运行。
    • 如果没有找到 ssh.exe 进程(errorlevel 1),则跳转到 initial_connect 标签重新连接。
  6. 每隔 60 秒检查一次

    • 使用 ping localhost -n 61 >nul 命令等待 60 秒(-n 61 表示发送 61 个 ping 请求,每个请求间隔 1 秒),然后再次检查连接状态。

注意事项

  • 安全性:将密码硬编码在脚本中是非常不安全的做法。建议使用 SSH 密钥对认证来提高安全性。
  • 依赖性:此脚本依赖于 sshpass.exepython,请确保这些工具在你的系统上可用,并且路径配置正确。
  • 权限:可能需要管理员权限来运行某些命令,特别是涉及到进程管理的部分。

使用方法

  1. 保存脚本

    • 将上述批处理代码保存为一个 .bat 文件,例如 auto_ssh_reverse_tunnel.bat
  2. 运行批处理文件

    • 双击 auto_ssh_reverse_tunnel.bat 文件,或者在命令提示符中运行它:
      auto_ssh_reverse_tunnel.bat
      

通过这个整合后的批处理脚本,你应该能够先运行 Python 脚本,然后自动建立并维护 SSH 连接。如果仍然遇到问题,请确保所有路径和工具都已正确配置。

https://github.com/xhcoding/sshpass-win32/releases/tag/v1.0.1

#########################最后大成的版本auto_login_ssh_reverse_tunnel.bat#####################

为了将两个功能整合到一个批处理文件中,我们需要确保以下几点:

  1. 先运行 Python 脚本 auto_login.py 并记录日志。
  2. 定期检查网络连接状态,如果检测到网络问题,则重新运行 Python 脚本。
  3. 建立并维护 SSH 反向隧道连接。

以下是整合后的批处理脚本:

@echo off
setlocal enabledelayedexpansion:: 设置变量
set "sshCommand=ssh -g -N -R 1d3389:localhost:3389 -o ServerAliveInterval=60 root@4d8"
set "password=d"
set "sshpassPath=E:\autoD\sshpass.exe"  :: 替换为你的 sshpass.exe 的实际路径
set "pythonScript=E:\autoD\auto_login.py"  :: 替换为你的 Python 脚本的实际路径
set "log_file=E:\autoD\network_log.txt":: 设置检查间隔时间(秒)
set nexttime=60:: 初始登录
echo [%date% %time%]: Initial login >> %log_file%
python "%pythonScript%" >> %log_file% 2>&1
if %errorlevel% neq 0 (echo [%date% %time%]: Python script failed with error code %errorlevel% >> %log_file%exit /b %errorlevel%
):: 延迟一段时间以确保系统完全启动
ping localhost -n 31 >nul:initial_connect
:: 初始连接
start "" %sshpassPath% -p %password% %sshCommand%
ping localhost -n 2 >nul:check_and_reconnect
:: 检查 SSH 连接是否存活
tasklist | findstr /C:"ssh.exe" >nul
if errorlevel 1 (:: 如果连接断开,重新连接goto initial_connect
):: Ping 百度四次
for /f "tokens=4" %%i in ('ping -n 4 www.baidu.com ^| find "Reply from"') do set icmp_cnt=%%i:: 获取成功的 ICMP 包数量
set /a success_count=0
for /f "tokens=1,2 delims== " %%i in ('ping -n 4 www.baidu.com ^| find "Reply from"') do set /a success_count+=1:: 记录当前时间和 ping 结果
echo [%date% %time%]: ping receives: %success_count% / 4 >> %log_file%:: 如果 ping 失败(ICMP 包少于 4 个),重新登录
if %success_count% LSS 4 (echo [%date% %time%]: Network issue detected, re-login >> %log_file%python "%pythonScript%" >> %log_file% 2>&1if %errorlevel% neq 0 (echo [%date% %time%]: Python script failed with error code %errorlevel% >> %log_file%)
):: 等待指定的时间间隔
timeout /t %nexttime% >nul
goto check_and_reconnect

解释

  1. 设置变量

    • sshCommand:包含 SSH 命令。
    • password:SSH 密码。
    • sshpassPathsshpass.exe 的路径,请替换为你实际的 sshpass.exe 路径。
    • pythonScript:Python 脚本的路径,请替换为你实际的 Python 脚本路径。
    • log_file:日志文件的路径。
    • nexttime:检查间隔时间(秒)。
  2. 初始登录

    • 记录日志并运行 Python 脚本 auto_login.py
    • 检查 python 命令的退出代码 (errorlevel),如果非零则输出错误信息并退出批处理脚本。
  3. 延迟一段时间以确保系统完全启动

    • 使用 ping localhost -n 31 >nul 命令等待 30 秒(-n 31 表示发送 31 个 ping 请求,每个请求间隔 1 秒)。
  4. 初始连接

    • 使用 start 命令打开一个新的命令提示符窗口,并运行 sshpass 来处理 SSH 连接和密码输入。
    • sshpass -p %password% %sshCommand% 会自动输入密码并执行 SSH 命令。
    • 使用 ping localhost -n 2 >nul 命令等待 1.5 秒(-n 2 表示发送 2 个 ping 请求,每个请求间隔 1 秒)。
  5. 检查 SSH 连接是否存活

    • 使用 tasklistfindstr 检查是否有 ssh.exe 进程在运行。
    • 如果没有找到 ssh.exe 进程(errorlevel 1),则跳转到 initial_connect 标签重新连接。
  6. Ping 百度四次

    • 使用 ping 命令对 www.baidu.com 发送 4 个 ICMP 请求,并计算成功响应的数量。
    • 记录当前时间和 ping 结果到日志文件。
    • 如果成功的 ICMP 包少于 4 个,则重新运行 Python 脚本 auto_login.py 并记录日志。
  7. 等待指定的时间间隔

    • 使用 timeout /t %nexttime% >nul 命令等待 60 秒,然后再次检查连接状态。

注意事项

  • 安全性:将密码硬编码在脚本中是非常不安全的做法。建议使用 SSH 密钥对认证来提高安全性。
  • 依赖性:此脚本依赖于 sshpass.exepython,请确保这些工具在你的系统上可用,并且路径配置正确。
  • 权限:可能需要管理员权限来运行某些命令,特别是涉及到进程管理的部分。

使用方法

  1. 保存脚本

    • 将上述批处理代码保存为一个 .bat 文件,例如 auto_ssh_reverse_tunnel.bat
  2. 运行批处理文件

    • 双击 auto_ssh_reverse_tunnel.bat 文件,或者在命令提示符中运行它:
      auto_ssh_reverse_tunnel.bat
      

通过这个整合后的批处理脚本,你应该能够先运行 Python 脚本,定期检查网络连接状态,如果检测到网络问题则重新运行 Python 脚本,并自动建立并维护 SSH 反向隧道连接。如果仍然遇到问题,请确保所有路径和工具都已正确配置。

相关文章:

python+selenium实现自动联网认证,并实现断网重连

pythonselenium实现自动联网认证,并实现断网重连 echo off python “E:\autoD\auto_login.py” 要使自动登录脚本在系统重启后自动运行,你可以使用Windows的任务计划程序来设置。以下是详细的步骤: 1. 保存脚本 首先,将你的Py…...

基于机器学习的注意力缺陷/多动障碍 (ADHD)(python论文+代码)HYPERAKTIV

简述 医疗保健领域的机器学习研究往往缺乏完全可重复性和可比性所需的公共数据。由于患者相关数据附带的隐私问题和法律要求,数据集往往受到限制。因此,许多算法和模型发表在同一主题上,没有一个标准的基准。因此,本文提出了一个公…...

Spring Boot 集成 Redisson 实现消息队列

包含组件内容 RedisQueue:消息队列监听标识RedisQueueInit:Redis队列监听器RedisQueueListener:Redis消息队列监听实现RedisQueueService:Redis消息队列服务工具 代码实现 RedisQueue import java.lang.annotation.ElementTyp…...

go语言Map详解

Map Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现 map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。 它提供了高效的查找、插入和删除操作,非常适…...

C++——已知数组a[6]={1,3,5,7,9};输入一个数值,要求按照现有排序规律将它放入数组当中。

没注释的源代码 #include <iostream> using namespace std; int main() { int a[6]{1,3,5,7,9}; int n,i,j; cout<<"请输入一个数值&#xff1a;"; cin>>n; for(int i0;i<4;i) { if(n<a[i]) { …...

云计算第四阶段---CLOUD Day7---Day8

CLOUD 07 一、Dockerfile详细解析 指令说明FROM指定基础镜像&#xff08;唯一&#xff09;RUN在容器内执行命令&#xff0c;可以写多条ADD把文件拷贝到容器内&#xff0c;如果文件是 tar.xx 格式&#xff0c;会自动解压COPY把文件拷贝到容器内&#xff0c;不会自动解压ENV设置…...

深入解析ThingsBoard与ThingsKit物联网平台的差异

VS 在物联网(IoT)领域&#xff0c;平台的选择对于企业来说至关重要。本文将深入探讨ThingsBoard社区版与ThingsKit企业版这两个物联网平台的差异&#xff0c;帮助读者更好地理解它们的特色和适用场景。 系统相同点 首先&#xff0c;ThingsBoard社区版和ThingsKit企业版都基于…...

五、CAN总线

目录 一、基础知识 1、can介绍 2、CAN硬件电路 3、CAN电平标准 4、CAN收发器芯片介绍 5、CAN帧格式 ① CAN帧种类 ② CAN数据帧 ③ CAN遥控帧​编辑 ④ 位填充 ⑤ 波形实例 6、接收方数据采样 ① 接收方数据采样遇到的问题 ② 位时序 ③ 硬同步 ④ 再同步 ⑤ 波…...

Linux:终端(terminal)与终端管理器(agetty)

终端的设备文件 打开/dev目录可以发现其中有许多字符设备文件&#xff0c;例如对于我的RedHat操作系统&#xff0c;拥有tty0到tty59&#xff0c;它们是操作系统提供的终端设备。对于tty1-tty12使用ctrlaltF*可以进行快捷切换&#xff0c;下面的命令可以进行通用切换。 sudo ch…...

钉钉与MySQL对接集成获取部门列表2.0打通EXECUTE语句

钉钉与MySQL对接集成获取部门列表2.0打通EXECUTE语句 接入系统&#xff1a;钉钉 钉钉是阿里巴巴集团打造的企业级智能移动办公平台&#xff0c;是数字经济时代的企业组织协同办公和应用开发平台。钉钉将IM即时沟通、钉钉文档、钉闪会、钉盘、Teambition、OA审批、智能人事、钉工…...

微信小程序点赞动画特效实现

这里提供两种实现点赞动画特效的方法&#xff1a; 方法一&#xff1a;使用 CSS 动画 wxml 文件: <view class"like-container"><image src"{{isLiked ? likedImg : unlikedImg}}" class"like-icon {{isLiked ? liked : }}" bindta…...

Day25笔记-普通文件读写with上下文二进制文件csv文件

一、文件读写【重点掌握】 常见文件的读写分类&#xff1a; ​ 1.普通文件文件,如txt&#xff0c;py&#xff0c;html等 ​ 2.二进制文件&#xff0c;如图片&#xff0c;音频&#xff0c;视频&#xff0c;压缩包等 ​ 3.csv文件&#xff0c;如csv,需要借助于系统模块csv ​ 4.对…...

MySQL安装教程

MySQL安装教程 如果需要删除原有mysql&#xff0c;然后安装过新的&#xff0c;可以参照如何彻底卸载旧mysql重装测试 1. 准备资源 mysql官网直达&#xff1a;https://dev.mysql.com/downloads/mysql/ CADN&#xff1a;https://download.csdn.net/download/luocong321/89592962 …...

【Windows】快速帮你解决如何找到 Windows 上的 .condarc 文件

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…...

『正版软件』XYplorer 专业的 Windows 文件管理工具软件

在数字化时代&#xff0c;我们每天都在与各种文件打交道。无论是工作文档、个人照片还是多媒体资料&#xff0c;管理这些文件的效率直接关系到我们的工作效率和生活体验。今天&#xff0c;我要向大家推荐一款功能强大、操作简便的文件管理软件 —— XYplorer。 XYplorer&#x…...

“吉林一号”宽幅02B系列卫星

离轴四反光学成像系统 1.光学系统参数&#xff1a; 焦距&#xff1a;77.5mm&#xff1b; F/#&#xff1a;7.4&#xff1b; 视场&#xff1a;≥56゜&#xff1b; 光谱范围&#xff1a;400nm&#xff5e;1000nm。 2.说明&#xff1a; 光学系统采用离轴全反射式结构&#xff0c;整…...

我的AI工具箱Tauri版-FasterWhisper音频转文本

本教程基于自研的AI工具箱Tauri版进行FasterWhisper音频转文本服务。 FasterWhisper音频转文本服务 是自研AI工具箱Tauri版中的一款模块&#xff0c;专门用于将音频或视频中的语音内容自动转化为文本或字幕。通过简单的配置&#xff0c;该工具能够批量处理大量音频或视频文件&…...

Java后端中的延迟队列实现:使用Redis与RabbitMQ的不同策略

Java后端中的延迟队列实现&#xff1a;使用Redis与RabbitMQ的不同策略 大家好&#xff0c;我是微赚淘客返利系统3.0的小编&#xff0c;是个冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在后端开发中&#xff0c;延迟队列&#xff08;Delayed Queue&#xff09…...

Linux中使用cp命令的 -f 选项,但还是提醒覆盖的问题

问题&#xff1a; linux 在执行cp的命令的时候&#xff0c;就算是执行 cp -f 也还是会提醒是否要进行替换。 问题原因&#xff1a; 查看别名&#xff0c;alias命令&#xff0c;看到cp的别名为cp -i&#xff0c;那就是说cp本身就是自带覆盖提醒&#xff0c;就算我们加上-f 的…...

互联网技术的持续演进:从现在到未来

互联网技术的持续演进&#xff1a;从现在到未来 在过去的十年里&#xff0c;互联网技术发生了飞速变化。无论是大数据、人工智能&#xff0c;还是5G网络和物联网&#xff0c;每一种技术的突破都在改变我们的生活方式和工作模式。作为现代社会的核心驱动力&#xff0c;互联网技…...

vscode安装ESLint与Vetur插件后自动修复代码不生效

vscode安装ESLint与Vetur插件后自动修复代码不生效 1、安装ESLint 和 Vuter 2、运行结果 2.1、代码保存时代码中的分号;能被检测出来,但是不会自动修复 2.2、手动运行ESLint 修复命令(在终端中执行 npx eslint . --fix)可以修复问题 3、解决办法 在.vscode目录下setti…...

2848、与车相交的点

2848、[简单] 与车相交的点 1、题目描述 给你一个下标从 0 开始的二维整数数组 nums 表示汽车停放在数轴上的坐标。对于任意下标 i&#xff0c;nums[i] [starti, endi] &#xff0c;其中 starti 是第 i 辆车的起点&#xff0c;endi 是第 i 辆车的终点。 返回数轴上被车 任意…...

基于k8s手动部署rabbitmq集群(Manually Deploying RabbitMQ Cluster Based on k8s)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…...

mybatis 配置文件完成增删改查(四) :多条件 动态sql查询

文章目录 就是你在接收数据时&#xff0c;有的查询条件不写&#xff0c;也能从查到相应的stauts也可能为空恒等式标签 代替where关键字 就是你在接收数据时&#xff0c;有的查询条件不写&#xff0c;也能从查到相应的 注意是写字段名 还是 属性名 companyName不写也能查出满足…...

先楫HPM6750 Windows下VSCode开发环境配置

用的是EVKmini&#xff0c;ft2232作为调试器jtag接口调试 启动start_gui.exe 以hello_world为例&#xff0c;更改一下build path&#xff0c;可以generate并使用gcc compile 最后会得到这些 点击start_gui里面的命令行&#xff0c;用命令行启动vscode 新建.vscode文件夹&…...

【JavaScript】LeetCode:41-45

文章目录 41 排序链表42 合并k个升序链表43 LRU缓存44 二叉树的中序遍历45 二叉树的最大深度 41 排序链表 递归 归并排序找到链表中心点&#xff0c;从中心点将链表一分为二。奇数个节点找中心点&#xff0c;偶数个节点找中心左边的点作为中心点。快慢指针找中心点&#xff0c…...

数据结构(Day18)

一、周学习内容 1、9.18 数据结构&#xff08;Day15&#xff09;-CSDN博客 2、9.19 数据结构&#xff08;Day16&#xff09;-CSDN博客 3、9.20 链表 目的 插入删除不需要移动任何节点&#xff08;元素&#xff09;。 不需要预估存储空间大小&#xff0c;长度动态增长或减小。…...

error: ‘InsertAtTop‘ was not declared in this scope

Qt编译错误记录&#xff1a; 报错&#xff1a;error: ‘InsertAtTop’ was not declared in this scope ui->comboBoxJob->setInsertPolicy(InsertAtTop);这行代码在Qt中编译就会报这个错误&#xff0c;原因是输入参数需要加类名限定&#xff0c;改为&#xff1a; ui-…...

MySQL缓冲池详解

Buffer Pool 本文参考开源项目&#xff1a;小林coding在线文档&#xff1b; 01-缓冲池概述 ​ 在MySQL查询数据的时候&#xff0c;是通过存储引擎去磁盘做IO来获取数据库中的数据&#xff0c;这样每次查询一条数据都要去做一次或者多次磁盘的IO&#xff0c;无疑是非常慢的。…...

【我的 PWN 学习手札】tcache stash with fastbin double free —— tcache key 绕过

参考看雪课程&#xff1a;PWN 探索篇 前言 tcache key 的引入使得 tcache dup 利用出现了困难。除了简单利用 UAF 覆写 key 或者House Of Karui 之外&#xff0c;还可以利用 ptmalloc 中的其他机制进行绕过。 一、Tcache Stash with Fastbin Double Free 之前是 double free …...