Express AXIOS获取instagram不在prod中工作的请求
我被困了几个小时,找不到答案 这是一个非常简单的请求,可以在浏览器中正常工作(返回JSON答案),例如: 在代码中:Express AXIOS获取instagram不在prod中工作的请求,express,axios,instagram,vercel,Express,Axios,Instagram,Vercel,我被困了几个小时,找不到答案 这是一个非常简单的请求,可以在浏览器中正常工作(返回JSON答案),例如: 在代码中: const express = require('express'); const axios = require('axios'); const cors = require('cors'); const app = express(); app.use(cors()); app.get('/instagram', (req, res) => { asyn
const express = require('express');
const axios = require('axios');
const cors = require('cors');
const app = express();
app.use(cors());
app.get('/instagram', (req, res) => {
async function getInstagramFeed() {
await axios
.get('https://www.instagram.com/eurosportfr/?__a=1')
.then((response) => {
console.log(response);
res.write(`${JSON.stringify(response.data)}`);
res.end();
})
.catch((err) => {
console.log(err.response);
res.write('<h1>ERROR GRAVE</h1>');
res.write(err.response);
res.end();
});
}
getInstagramFeed();
});
const PORT = process.env.PORT || 8000;
app.listen(PORT, () => console.log(`listening on ${PORT}`));
const express=require('express');
const axios=require('axios');
const cors=需要(“cors”);
常量app=express();
应用程序使用(cors());
app.get('/instagram',(请求、恢复)=>{
异步函数getInstagramFeed(){
等待axios
.get('https://www.instagram.com/eurosportfr/?__a=1')
。然后((响应)=>{
控制台日志(响应);
res.write(`${JSON.stringify(response.data)}`);
res.end();
})
.catch((错误)=>{
控制台日志(错误响应);
res.write(“错误严重”);
res.write(错误响应);
res.end();
});
}
getInstagramFeed();
});
const PORT=process.env.PORT | 8000;
app.listen(端口,()=>console.log(`listening on${PORT}`));
DEV ENV中的结果是JSON数据以及我需要的所有内容
但在生产中,它不会返回JSON。相反,它会返回一个HTML页面
您可以在这里尝试:(我在正文中显示结果)
当我用另一个api客户端尝试另一个api请求时,它在prod中工作正常,例如:
有什么想法吗
谢谢此请求现在需要身份验证。它在过去是有效的,在我所在的摩洛哥,它仍然有效,但这个解决方案并不可靠 解决方案是遵循facebook上的说明:
我认为在开发模式下,您可以登录instagram,而在prod env中则不能。您可以通过粘贴在浏览器中提供的url(匿名模式)进行测试。您将获得与Hi Mic Fung相同的登录页面,感谢您的回复。即使我没有登录,即使在匿名模式下,我也尝试了,它在本地主机上运行良好,但在生产环境中不。。。我注意到,在获取JSON之前,它会在本地显示半秒钟的html结果。我阅读了这篇文章,因此可能与地理位置有关。对我来说,登录是需要让你的链接工作。看看您是否可以将服务器位置更改为您所在的位置或可能在法国以解决登录问题。感谢您的回复,它帮助我了解了问题,我将对我的问题做出全局回答。