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 反向隧道连接。如果仍然遇到问题,请确保所有路径和工具都已正确配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/147101.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【高分系列卫星简介——高分二号卫星(GF-2)】

高分二号卫星(GF-2) 高分二号(GF-2)卫星是中国自主研制的首颗空间分辨率优于1米的民用光学遥感卫星,具有亚米级空间分辨率、高定位精度和快速姿态机动能力等特点,达到了国际先进水平。以下是对高分二号卫星…

对Spring-AI系列源码的讲解

前言 今天,我们将开启对Spring-AI系列源码的讲解。请大家不急不躁,我会逐步深入,每次专注于一个知识点,以防让人感到困惑。 首先,源码的讨论自然离不开自动装配。有人可能会问,之前已经讲解过这个内容了&…

【JavaSE】八种基本数据类型及包装类

数据类型字节数位数值范围包装类默认值整型byte18-128,127Byte0short216,Short0int432,Integer0long864,Long0L浮点型float432Float0.0fdouble864Double0.0d布尔型boolean18true falseBooleanfalse字符型char2160,Char…

C++编程语言:基础设施:异常处理(Bjarne Stroustrup)

第 13 章 异常处理(Exception Handling) 目录 13.1 错误处理(Error Handling) 13.1.1 异常(Exceptions) 13.1.2 传统错误处理(Traditional Error Handling) 13.1.3 探索(Muddling Through) 13.1.4 异常的替代观点(Alternative Views of Exceptions) 13.1.4.1 异步…

DAY78服务攻防-数据库安全RedisCouchDBH2database未授权访问CVE 漏洞

知识点: 1、数据库-Redis-未授权RCE&CVE 2、数据库-Couchdb-未授权RCE&CVE 3、数据库-H2database-未授权RCE&CVE 前置知识 1、复现环境:Vulfocus(官方在线的无法使用,需要自己本地搭建) 官方手册:https://fofapr…

老牛码看JAVA行业现状

一、坏消息深化与反思: 1、技术瓶颈与框架局限:尽管低代码平台崭露头角,为开发效率带来新气象,但其全面普及尚需时日,Java技术栈的进化似乎陷入了暂时的停滞。开发者们渴望突破,却发现传统框架与模式已难以…

博图V16升级V19前后内存对比

升级V19后固件版本更新到4.6 存储存储空间拓展50% 下图是官方解释 打开博图查看前后对比

[笔记]某变频器,功能列表及参数表

产品代号:INVT GOODDRIVE,这家公司我的产品我似乎在特检院看到过?或者在某个地铁建设工地看到过。是深圳的。 1.产品功能点: 变频锥形电机控制、抱闸转矩验证?抱闸反馈零位检测行程限位超载防护轻载升速(…

【超详细】基于YOLOv8训练无人机视角Visdrone2019数据集

主要内容如下: 1、Visdrone2019数据集介绍 2、下载、制作YOLO格式训练集 3、模型训练及预测 4、Onnxruntime推理 运行环境:Python3.8(要求>3.8),torch1.12.0cu113(要求>1.8)&#xff0c…

8. 防火墙

8. 防火墙 (1) 防火墙的类型和结构 防火墙的类型和结构可以根据其在网络协议栈中的过滤层次和实现方式进行分类。常见的防火墙类型包括: 包过滤防火墙:工作在网络层(OSI模型的第3层),主要检查IP包头的信息,如源地址、目的地址、端口号等。电路级网关防火墙:工作在会话层…

idea2021git从dev分支合并到主分支master

1、新建分支 新建一个名称为dev的分支,切换到该分支下面,输入新内容 提交代码到dev分支的仓库 2、切换分支 切换到主分支,因为刚刚提交的分支在dev环境,所以master是没有 3、合并分支 点击push,将dev里面的代码合并到…

对时间序列SOTA模型Patch TST核心代码逻辑的解读

前言 Patch TST发表于ICLR23,其优势在于保留了局部语义信息;更低的计算和内存使用量;模型可以关注更长的历史信息,Patch TST显著提高了时序预测的准确性,Patch可以说已成为时序模型的基本操作。我在先前的一篇文章对P…

【掘金量化使用技巧】用日线合成长周期k线

掘金API中的接口最长的周期是‘1d’的,因此周线/月线/年线等数据需要自己进行合成。 基本思路 用日线合成长周期的k线只需要确定好合成的周期以及需要的数据即可。 周期: 一般行情软件上提供年k、月k、周k,我也选择年、月、周再加一个季度频率。 数据:…

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

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

GPU加速时代:如何用CuPy让你的Python代码飞起来?

你是不是也有这样的感受:明明写的Python代码很简洁,用NumPy处理数据也很方便,可是一跑起来就慢得像乌龟?尤其是当你面对庞大的数据集时,光是等结果出来,就已经耗掉大半天了。其实,我以前也是这么干的,直到我发现了CuPy,一个能让NumPy飞速跑起来的GPU加速神器。 你…

10. 排序

一、排序的概念及引用 1. 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录…

基于SpringBoot的医院管理系统【附源码】

基于SpringBoot的医院管理系统(源码L文说明文档) 目录 4 系统设计 4.1 系统概述 4系统概要设计 4.1概述 4.2系统结构 4.3.数据库设计 4.3.1数据库实体 4.3.2数据库设计表 5系统详细实现 5.1 医生模块的实现 5.1.…

Mybatis 返回 Map 对象

一、场景介绍 假设有如下一张学生表: CREATE TABLE student (id int NOT NULL AUTO_INCREMENT COMMENT 主键,name varchar(100) NOT NULL COMMENT 姓名,gender varchar(10) NOT NULL COMMENT 性别,grade int NOT NULL COMMENT 年级,PRIMARY KEY (id) ) ENGINEInnoD…

【RocketMQ】一、基本概念

文章目录 1、举例2、MQ异步通信3、背景4、Rocket MQ 角色概述4.1 主题4.2 队列4.3 消息4.4 生产者4.5 消费者分组4.6 消费者4.7 订阅关系 5、消息传输模型5.1 点对点模型5.2 发布订阅模型 1、举例 以坐火车类比MQ: 安检大厅就像是一个系统的门面,接受来…

整合多方大佬博客以及视频 一文读懂 servlet

参考文章以及视频 文章: 都2023年了,Servlet还有必要学习吗?一文带你快速了解Servlet_servlet用得多吗-CSDN博客 【计算机网络】HTTP 协议详解_3.简述浏览器请求一个网址的过程中用到的网络协议,以及协议的用途(写关键点即可)-CSDN博客 【…