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/*');
});
Hier ist die app.get Methode, wo ich will vom Benutzer eingegebenen Parameter erhalten und es dann an den bing api umleiten um die Suchergebnisse für eine Bildsuche zurück. Die große API benötigt einen API-Schlüssel, der an den Header übergeben wird, so wie Ocp-Apim-Subscription-Key: ••••••••••••••••••••••••• ••••••. Wie mache ich das?Wie übergebe ich eine req.setHeaders-Methode für die res.redirect-Methode innerhalb derselben app.get-Funktion?
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);
});
Sie können eine Kopfzeile auf diese Weise nicht festlegen. Die Weiterleitung weist den Browser an, zu einer bestimmten URL zu gehen. Der Browser wird seine eigenen Header setzen, wenn er zu dieser URL geht. Sie können diese Header nicht steuern. Also, was Sie verlangen, ist ein Nichtstarter. Kann es nicht tun. Sie müssen erreichen, was auch immer Sie versuchen, einen anderen Weg zu erreichen. Außerdem glaube ich nicht, dass Sie Ihren Abonnementschlüssel an einen Browser weitergeben möchten, der Sie auch fragt. – jfriend00
Möchten Sie wirklich eine Weiterleitung oder möchten Sie einfach den Inhalt unter dieser URL abrufen und dann als Antwort auf die aktuelle Anfrage an den Browser zurücksenden. Wenn Sie dies tun, können Sie den gewünschten Header festlegen, wenn Sie den Inhalt von node.js angefordert haben, und dann können Sie die Antwort zurückleiten. Sie würden im Wesentlichen als Proxy für dieses eine Ergebnis fungieren. – jfriend00
@ jfriend00 - Ja, ich möchte nur den Inhalt von der Weiterleitungs-URL zu meiner Seite greifen, im Wesentlichen nur die Daten durchleiten, ja. Wie mache ich das? –