mikrocontroller.net

Forum: PC-Programmierung RestApi Server


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Nilix (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Brummbär (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marco H. (damarco)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das parsen der URI sollte hinter dem Hostname erfolgen..

Autor: Alex W. (Gast)
Datum:

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

Autor: Marco H. (damarco)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Bare Metal (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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.

Autor: Marco H. (damarco)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: imonbln (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.