![](/img/trans.png)
[英]ExpressJS app.get('*', function(req,res){}) is handling all the requests
[英]How do I pass a req.setHeaders method on res.redirect method within the same app.get function?
var express = require('express');
var app = express();
var PORT = process.env.PORT;
app.get('/', function(req, res){
res.json('Enter your query parameters for an image search like so: https://api.cognitive.microsoft.com/bing/v5.0/images/search?q=cats&count=10 and for the latest search results enter the url ttps://api.cognitive.microsoft.com/bing/v5.0/images/*');
});
这是app.get方法,我要在其中获取用户输入的参数,然后将其重定向到bing api以返回图像搜索的搜索结果。 大api需要将API密钥传递到标头中,例如Ocp-Apim-Subscription-Key:••••••••••••••••••••••••••• ••••••。 我该怎么做呢?
app.get('/imagesearch/:image*', function(req, res){
console.log(req.params.image);
console.log(req.query.count);
res.redirect('https://api.cognitive.microsoft.com/bing/v5.0/images/search?q='+req.params.image+'&count='+req.query.count);
});
app.listen(PORT, function(){
console.log('Express listening on: '+PORT);
});
由于现在听起来您只是想从远程站点获取数据,然后将其作为对原始请求的响应返回,因此您可以使用request
模块 ,然后通过管道将响应作为对原始request
的响应来进行操作http请求。
const request = require('request');
app.get('/imagesearch/:image*', function(req, res){
let options = {
url: 'https://api.cognitive.microsoft.com/bing/v5.0/images/search?q='+req.params.image+'&count='+req.query.count,
headers: {"Ocp-Apim-Subscription-Key": "xxxxx"}
};
request(options).pipe(res);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.