In meiner ausdrücklichen App habe ich einen Router api/shorten/
hören:Wie übergibt man eine URL als "URL-Parameter" in Express?
router.get('api/shorten/:longUrl', function(req, res, next) {
console.log(req.params.longUrl);
}
Wenn ich so etwas wie verwenden:
http://localhost:3000/api/shorten/www.udemy.com
ich www.udemy.com
bekommen das ist, was ich erwarte.
Aber wenn ich benutze:
http://localhost:3000/api/shorten/http://www.udemy.com
Ich erhalte einen 404 Fehler.
Ich möchte http://www.udemy.com
bekommen, wenn ich auf req.params.parameter
zugreifen.
Sie müssen URL als Text oder zumindest im Abfrageparameter übergeben und nicht an die ursprüngliche URL selbst anhängen. Der Fehler, den Sie erhalten, ist, weil der Browser es ausfiltert – binariedMe
Sie müssen die URL verschlüsseln, die Sie anhängen, da Zeichen wie ':' nirgendwo außer im Protokoll erlaubt sind, also im Pfad der URL nicht verwendet werden können. – jfriend00
@ binariedMe - Das ist nicht wahr. Es kann im Pfad sein, wenn es richtig codiert ist. – jfriend00