青龙面板如何定时访问指定网页

青龙面板(QingLong Panel)是一个开源的定时任务管理平台,支持JavaScript、Python、Shell等脚本的自动化执行。它常用于自动化脚本如某东签到、某盘签到等,但也可以轻松扩展到定时访问指定网页(例如模拟浏览器请求、GET/POST网页内容)。核心是通过编写简单脚本(如JS、Python)来实现网页访问,然后在面板中添加定时任务来调度执行。

接下来,我们就详细分享一下如何在已经部署好的青龙面板上定时访问指定应用服务,以此来保持我们部署在Hugging Face Spaces上的应用服务不被免费 CPU 套餐的休眠策略被动休眠,从而可以让应用服务保持正常能够访问。

假设我们部署好的n8n服务的访问地址是:https://yourname-yourspacename.hf.space/

1、创建脚本
登录青龙面板,进入脚本管理(左侧菜单)。

点击创建(右上角的+号),创建一个新的JavaScript脚本文件(后缀.js),命名为visit_n8n.js(或任意名称)。

在脚本编辑器中,粘贴以下简单JS代码示例后保存脚本(点击保存)。

// 导入axios库(用于HTTP请求)
const axios = require('axios');
// 执行访问
async function visitWeb(url) {
    try {
        const response = await axios.get(url);
        console.log(`成功访问网页: ${url}`);
        console.log(`响应状态: ${response.status}`);
        console.log(`响应内容长度: ${response.data.length} 字符`);  // 可打印部分内容
        // 如果需要保存响应到文件或其他操作,可在此添加
    } catch (error) {
        console.error(`访问失败: ${error.message}`);
    }
}
// 指定要访问的网页URL
const n8nUrl = 'https://yourname-yourspacename.hf.space/';  // 替换为你的目标网页URL
// 运行函数
visitWeb(n8nUrl);

 

该代码使用axios库(需安装依赖)模拟GET请求访问指定网页,并输出响应(可扩展为POST、添加headers等)。


说明:这个js脚本会定时GET请求指定URL,并打印结果到日志。你可以修改n8nUrl为你想访问的网页(如 https://yourname-yourspacename.hf.space/ )。如果需要模拟浏览器(带Cookie、User-Agent),可在axios.get中添加headers选项。

若需要修改JS,点击右上角“编辑”()按钮,修改完代码后,再点击“保存”按钮,放弃修改则点击“退出编辑”按钮。


2、安装依赖(推荐用axios)进入依赖管理(左侧菜单),搜索并安装axios(或在脚本中用require('axios'))。

点击“确定”以后,开始安装axios依赖,等待状态显示“已安装”,则表示安装完成。


3、创建定时任务
进入定时任务(左侧菜单),点击创建任务。


填写任务相关信息:

任务名称:例如“定时访问n8n网页”。

命令/脚本:输入task visit_n8n.js(替换为你的脚本文件名)。

定时类型:常规定时

定时规则:[0 0 0/2 * * ?]   (每2小时执行一次,使用Cron表达式格式(5-6位:分 时 日 月 周,秒可选))

其他:保持默认,点击确定。

保存后,任务会自动调度。


首次可点击“运行”按钮来测试一下。


等待状态完成,即状态从“执行中”改为“空闲中”。点击“日志”,查看运行情况。



以上日志说明访问正常。

如果失败,检查:1、网络连通性(面板服务器能访问目标URL吗?)。2、axios依赖是否安装。3、Cron规则是否正确(常见错误:缺少空格、星号用错)。

如果小伙伴儿喜欢用Python脚本,则可安装requests库依赖:新建Python脚本(.py)。

进入脚本管理(左侧菜单)。点击创建(右上角的+号),创建一个新的Python脚本文件(后缀.py),命名为visit_n8n.py(或任意名称)。

在脚本编辑器中,粘贴以下简单python代码示例后保存脚本(点击保存)。

import requests
url = 'https://yourname-yourspacename.hf.space/'  # 替换为你的URL
try:
    response = requests.get(url)
    print(f'访问成功: {response.status_code}')
    print(f'内容: {response.text[:200]}')# 打印前200字符
except Exception as e:
    print(f'访问失败: {e}')

该代码使用python库(需安装依赖)模拟GET请求访问指定网页,并输出响应。

进入依赖管理(左侧菜单),搜索并安装python的requests 依赖


进入定时任务(左侧菜单),点击创建任务。


同上,确定后,点击“运行”按钮来测试一下。

出错处理: 执行后返回错误:
SyntaxError: invalid non-printable character U+00A0


这是因为复制python代码的时候,把空格也复制过去了。

处理方法:到代码修改代码,把空格去掉,代码显示有这种

这是因为复制python代码的时候,把空格也复制过去了。

处理方法:到代码修改代码,把空格去掉,代码显示有这种,就说明空格有问题,


修改代码,把空格去掉,修改成如图:

转自:https://mp.weixin.qq.com/s/UKHw8Sd9NRLT-Yp395jwNA

文章版权归原作者所有或来自互联网,未经允许请勿转载。如有侵权请联系我删除,谢谢!
THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录