You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Telegram机器人inline_query中Axios请求Instagram报401错误排查

Instagram Reels直链请求在Telegram Bot inline_query中返回401的解决方案

你的代码在onText事件中正常工作,但在inline_query中触发401错误,核心原因大概率是Instagram的反爬机制对两种场景的请求判定不同,以下是具体排查和解决方法:

1. 修正请求URL的参数错误

你当前的URL里存在一个多余的问号:

https://www.instagram.com/p/${videoId}/?utm_source=ig_web_copy_link?&__a=1&__d=1

第二个?应该替换为&,否则会导致IG的参数解析异常,返回非预期的错误。修正后的URL:

https://www.instagram.com/p/${videoId}/?utm_source=ig_web_copy_link&__a=1&__d=1

2. 补充浏览器模拟请求头

IG的反爬会检查请求的上下文信息,inline_query场景下的请求可能缺少必要的头信息,导致被判定为异常请求。添加以下头字段让请求更贴近真实浏览器:

  • Referer: 模拟从IG主页发起的请求
  • Accept-Language: 补充语言偏好
  • X-Requested-With: 标记为AJAX请求

修改后的请求代码:

let res = await axios({
    method: 'get',
    url: `https://www.instagram.com/p/${videoId}/?utm_source=ig_web_copy_link&__a=1&__d=1`,
    headers: {
        'Cookie': cookie,
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
        'Referer': 'https://www.instagram.com/',
        'Accept-Language': 'en-US,en;q=0.9',
        'X-Requested-With': 'XMLHttpRequest'
    }
}).catch(e => console.log(e))

return {
    url: res?.data.items[0].video_versions[0].url,
    cover: res?.data.items[0].image_versions2.candidates[0].url
}

3. 检查Cookie的有效性与上下文绑定

  • 确保Cookie包含sessionid、ds_user_id、csrftoken这些核心登录字段,且未过期。
  • IG的Cookie可能会绑定请求的会话上下文,inline_query的请求场景可能被判定为新会话,尝试重新获取最新的登录Cookie替换现有值。

4. 避免请求触发频率阈值

虽然日志显示仅执行一次,但inline_query可能在用户连续输入时被快速触发(即使你只处理一次),IG的后端可能仍会判定为高频请求。可以添加1-2秒的延迟再发起请求:

await new Promise(resolve => setTimeout(resolve, 1000)); // 延迟1秒
let res = await axios(/* ... 请求配置 ... */)

5. 切换更稳定的API端点

如果上述方法无效,可以尝试使用IG的移动端API端点,该端点的反爬限制相对宽松:

let res = await axios({
    method: 'get',
    url: `https://i.instagram.com/api/v1/media/${videoId}/info/`,
    headers: {
        'Cookie': cookie,
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
        'X-IG-App-ID': '936619743392459' // Web端固定App ID
    }
}).catch(e => console.log(e))

return {
    url: res?.data.items[0].video_versions[0].url,
    cover: res?.data.items[0].image_versions2.candidates[0].url
}

内容的提问来源于stack exchange,提问作者Bohdan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 16:06:30