AWS EC2 Ubuntu VPS部署Node.js WebSocket爬虫遇403 Forbidden求助
AWS EC2 Ubuntu部署Node.js WebSocket机器人遭403 Forbidden拦截
情况说明
我开发了一款Node.js机器人,用于抓取博彩网站数据并做分析。最初在本地运行正常,后来迁移到树莓派3上实现持续连接,但家庭网络不稳定经常导致机器人出错,于是将其部署到AWS EC2的Ubuntu系统VPS上。部署后,博彩网站直接拦截了WebSocket连接,返回错误:Error: Server responded with a non-101 status: 403 Forbidden
已尝试操作
- 完全复制浏览器发起WebSocket请求时的所有请求头参数,包括User-Agent、Origin、Accept系列头信息等,但问题仍未解决
相关代码片段
const WebSocket = require('ws'); const wsOptions = { headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36', 'Origin': 'https://target-betting-site.com', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Accept-Encoding': 'gzip, deflate, br', // 其他从浏览器复制的请求头 } }; const ws = new WebSocket('wss://target-betting-site.com/ws-endpoint', wsOptions); ws.on('error', (err) => { console.error('连接错误:', err); }); ws.on('open', () => { console.log('连接成功'); });
需求
恳请帮忙排查被拦截的具体原因,并提供可行的解决办法。
内容的提问来源于stack exchange,提问作者Jhonatan Ryan
相关产品推荐
相关产品推荐

