javascript - GET http://localhost:5000/error 404 (Not Found)||无法连接到 API
问题描述
`我正在尝试进行 API 调用,使用他们的 productId 和 express.js 从亚马逊获取有关产品的信息,使用 scraperApi 运行时,它显示错误:
"{"name":"RequestError","message":"错误:无效的 URI "$%7BbaseUrl%7D&url=https://www.amazon.com/dp/$%7BproductId%7D"","原因": {},"error":{},"options":{"uri":"${baseUrl}&url=https://www.amazon.com/dp/${productId}","simple":true, "resolveWithFullResponse":false,"transform2xxOnly":false}}"
而不是检查时的产品数据,它显示以下错误,
未经检查的 runtime.lastError:消息端口在收到响应之前关闭。
这是代码:
const express = require('express');
const request = require('request-promise');
const app = express();
const PORT= process.env.PORT||5000;
const apiKey ='[sensitive information]';
const baseUrl ='http://api.scraperapi.com?api_key=${apiKey}&autoparse=true';
app.use(express.json());
app.get('/',(req,res ) =>{
res.send('Welcome to Dentel API project');
});
//GET Product details
app.get('/products/:productId',async(req,res)=>{
const{productId}= req.params;
try{
const response = await request('${baseUrl}&url=https://www.amazon.com/dp/${productId}');
res.json(response);
}catch(error){
res.json(error);
}
});
app.listen(PORT,()=>console.log('Server running on port ${PORT}'));
解决方案
您应该使用反引号,但使用单引号。
下线长
const response = await request('${baseUrl}&url=https://www.amazon.com/dp/${productId}');
至
const response = await request(`${baseUrl}&url=https://www.amazon.com/dp/${productId}`);
推荐阅读
- python - 有没有办法查找您在 Discord 中的服务器是否属于特定服务器?
- powershell - 如何使用手动 DNS 服务器从 Powershell 中的 IP 列表中查找 DNS 名称?
- javascript - next() 直接在生成器与具有生成器值的变量上的行为不同
- c - 为什么我的 C 代码在引用同一个变量时会打印出不同的值?
- javascript - 如何使用 MouseWheel 和 TouchEvent 滚动轮播?
- html - 为什么我的图片不能用 CSS flexbox 调整大小?
- javascript - 为什么我不能访问嵌套函数中的变量?
- tree - 在 Typed Racket 中转换为任意类型折叠树
- python - 最长子串python解决方案是什么意思--> for t in s.split(c)
- python - 有没有办法在内存中创建一个 GIF 并将其作为烧瓶响应发送?