Forum: PC-Programmierung RestApi Server


von Nilix (Gast)


Lesenswert?

Hallo Zusammen.
Ich habe einen RestApi Server Programmiert der auf einem Windows Rechner 
auf Port 80 läuft. Ich greife damit über Postman localhost zu 
(http://localhost/kurse/[kursnr]0000) das funktioniert so weit ändere 
ich aber auf IP-Adresse zu http://192.168.2.155/kurse/[kursnr]0000 
funktioniert es nicht (HTTP Error 404. The requested resource is not 
found.). ebenso wenn ich den RestApi Server auf den Strato- Server 
kopiere funktioniert der Zugriff auch nicht 
(http://hxxxxxxx.stratoserver.net/kurse/[kursnr]0000). ebenso (404 - 
File or directory not found.). Teste ich die Verbindung mit Telnet auf 
Port 80 funktioniert der Zugriff über Telnet.

Kann mir jemand das erklären warum?
Welche Instanzen durchläuft die RestApi (Firewall etc)?
Wie kann ich testen woran es hängt?

von Brummbär (Gast)


Lesenswert?

REST ist am Ende des Tages auch nur HTTP. Fang da das debuggen an, leg 
eine statische "Hallo Welt" index.html in die Webserver-Ordner und 
versuch darauf zuzugreifen.

von Marco H. (damarco)


Lesenswert?

Das parsen der URI sollte hinter dem Hostname erfolgen..

von Alex W. (Gast)


Lesenswert?

Deine Firewall ist zu! Localhost wird von der FW jedoch nicht geblockt.
Mach den Port 80 auf und gut ist...

von Marco H. (damarco)


Lesenswert?

Das ist nun ja totaler Blödsinn ! Der Server Antwortet mit 404 -> not 
found ..

Das heißt das er die resource nicht gefunden hat, das deutet darauf hin 
das dass Script das die Uri durchsucht und die response generiert nichts 
gefunden hat..

Die Beschreibung der resource ist auch Käse...

POST auf http://localhost/kurse/ -> legt diese an

GET auf http://localhost/kurse/{id} liefert die Daten zurück

PUT http://localhost/kurse/{id}/teilnehmer  -> fügt teilnehmer hinzu

DELETE http://localhost/kurse/{id}/teilnehmer/hans  -> löscht Hans..

Ein RESTfull Konzept ist nicht so ganz einfach.


GET auf http://localhost/kurse/{id_unbekannt} -> 404

: Bearbeitet durch User
von Bare Metal (Gast)


Lesenswert?

> Ich greife damit über Postman localhost zu
> (http://localhost/kurse/[kursnr]0000) das funktioniert so weit ändere
> ich aber auf IP-Adresse zu http://192.168.2.155/kurse/[kursnr]0000
> funktioniert es nicht (HTTP Error 404. The requested resource is not
> found.).

Diese Links funktionieren bei mir gar nicht.

von Marco H. (damarco)


Lesenswert?

https://de.wikipedia.org/wiki/URL-Encoding

sie sind ja auch reserviert ;)..

wie oben erwähnt löst er erst mal die Ressource in der URI falsch auf..

: Bearbeitet durch User
von imonbln (Gast)


Lesenswert?

Das gibt es einige Möglichkeiten warum du scheiterst, firewall, dein 
Server lauscht nicht an alle Adressen und ein paar URIs sind (falsch) 
Hardcodiert z.b auf localhost und so weiter. Was dir jetzt hilft ist 
debugging!

Wireshark auf dem Server mitlaufen lasen könnte ein erster schritt sein, 
wenn dein Server logging hat, da mal das loglevel hoch setzen, wenn es 
sowas gibt würde ich mit dem access log anfangen.

ggf hilft auch zum Erkenntnis Gewinn  mal die Webdeveloper Konsole 
deiner Browsers zu bemühen.

mit Dein telnet scheinst du ja nachgewiesen zu haben das da 
grundsätzlich was auf port 80 läuft. Hast du auch mal ein Get auf 
index.html gemacht und dir den Header angesehen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.