Hallo zusammen,
ich habe ein CMS (Directus) eingerichtet, auf dessen API ich von einer Node.js app zugreifen möchte. In meinem shared hosting zeigen zwei verschiedene Domains auf die API:
URL-1: http://viodir.hosting128001.a2ff7.netcup.net/public/_/items/sprachen
URL-2: http://directus.violina-petrychenko.de/public/_/items/sprachen
Beide URLs liefern im Browser ein und dasselbe JSON-Objekt. Probiert es mal aus!
Wenn ich nun aber einen request aus Node.js durchführe, dann funktioniert nur URL-1:
http.get('http://viodir.hosting128001.a2ff7.netcup.net/public/_/items/sprachen', (resp) => {
let data = '';
// A chunk of data has been recieved.
resp.on('data', (chunk) => {
data += chunk;
});
// The whole response has been received. Print out the result.
resp.on('end', () => {
console.log(data);
});
}).on("error", (err) => {
console.log("Error: " + err.message);
});
Alles anzeigen
URL-2 liefert dagegen gar kein JSON-Objekt, sondern eine HTML-Seite mit Fehlermeldung 404 Not Found:
http.get('http://directus.violina-petrychenko.de/public/_/items/sprachen', (resp) => {
let data = '';
// A chunk of data has been recieved.
resp.on('data', (chunk) => {
data += chunk;
});
// The whole response has been received. Print out the result.
resp.on('end', () => {
console.log(data);
});
}).on("error", (err) => {
console.log("Error: " + err.message);
});
Alles anzeigen
Fällt jemandem von euch eine Erklärung dafür ein, weshalb der request von URL-2 im Browser funktioniert, aber nicht aus Node.js heraus? Behandelt der Server verschiedene User-agent unterschiedlich? Soweit ich sehen kann, habe ich im Shared Hosting die gleichen Einstellungen für beide Subdomains eingestellt… aber vielleicht übersehe ich auch etwas…
Stehe da grad echt auf dem Schlauch… muss auch zugeben, dass ich mich mit den Innereien des HTTP noch nicht wirklich gut auskenne…
Vielen Dank und Grüße
Oliver