在 DSH 的插件生态中,处理 HTTP 请求往往需要面对反爬虫与限流的挑战。dsh-sxs-anti-bot-http 是一款针对该场景的专用工具插件,旨在封装通用的反爬与限流策略,降低智能体开发中联网功能的维护成本。
插件介绍¶
该插件由用户 yangyunsong023 开发。它基于 SXS 采集体系(每日数百万级请求实战)提炼策略,采用纯 Node 实现,具备零运行时依赖的特性。插件本身开源免费,许可证为 MIT。
核心功能¶
插件主要提供以下能力:
- UA 池轮换:内置 5 组浏览器 UA,打破固定指纹,模拟真实浏览器访问。
- 指数退避重试:在网络错误或服务器返回 5xx 错误时自动重试,防止因瞬时抖动导致请求失败。
- 反爬墙检测:识别验证码、安全验证、滑动验证、Cloudflare challenge、阿里云 WAF 等常见反爬特征。
- 站点级自适应限流:根据站点响应动态调整请求间隔。连续失败时,间隔按 30s→60s→120s→240s→480s 指数退避;请求恢复后自动回落,防止封禁 IP。
安装与启用¶
使用官方提供的命令将插件添加到 DSH 配置中:
dsh plugin --profile web add git+https://github.com/yangyunsong023/dsh-sxs-anti-bot-http.git
安装完成后,插件即可在 web 上下文中使用。
典型用法¶
插件提供了三个核心工具函数:
sxs_fetch:反爬 GET 请求,返回网页文本。sxs_fetch_json:反爬 GET 请求,自动解析 JSON 响应。sxs_rate_status:查看各站点的自适应限流状态。
示例代码:
// 抓取网页文本
sxs_fetch(url="https://example.com/news", referer="https://example.com/")
// 抓取 JSON 接口
sxs_fetch_json(url="https://api.example.com/data")
适用场景与注意¶
- 适用场景:适合需要频繁访问外部网站,且目标站点具备一定反爬能力的 DSH 智能体开发。
- 权限与安全:插件以当前 DSH 进程权限运行。在安装前,建议开发者检查源码与许可证,确保符合自身需求。
- 依赖说明:该插件需要 GitHub 账号认证才能通过 npm 包安装,但通过 Git 链接安装通常不依赖此限制。
总结¶
dsh-sxs-anti-bot-http 为 DSH 插件体系提供了一套经过实战验证的反爬解决方案。通过 UA 轮换、指数退避和自适应限流,它能够有效提升 HTTP 请求的稳定性与成功率。更多细节可查阅插件目录或项目源码。