Programm zum empfang von http requests

Gast #6391783
Hi Leute,

ich habe ein ESP32 Board und lerne gerade wie man http Requests via WLAN 
versendet. Nun bin ich auf der Suche nach einer einfachen Gegenstelle, 
die den http request empfängt und mir die http Parameter anzeigt. Könnt 
Ihr mir dazu einen Tipp geben ?

Vielen Dank
Gast
Ein simples php-script das du mit php -S meinServer:meinport
startest.
Mit deinem ESP schickst du die Anfrage an meinServer:meinport
und das Script gibt dir entspr. Dinge aus die dich interessieren.

Das simpelste Script was man machen kann:

<?php
var_dump($_REQUEST);
?>

Da steht dann schon vieles drinn.

Oder lesbarer/übesichtlicher:
<?php
  foreach($_REQUEST as $wert) {
    echo "$wert" . \n;
  }
?>
Ich habe das einmal gemacht, in dem icb einen  kleinen Server in c 
geschrieben habe.
(je einfacher der Code umso größer der Lerneffekt)

Der Server lauscht auf eine Abrage von einem Client z.B. Web-Browser.

Dieses Servercodebeispiel könnte dazu verwendet werden :

https://www.geeksforgeeks.org/tcp-server-client-implementation-in-c/

Das Programm kann bei Bedarf mit GET und POST Methode erweitert werden.
Gast
karl schrieb:
> Hi Leute,
>
> ich habe ein ESP32 Board und lerne gerade wie man http Requests via WLAN
> versendet. Nun bin ich auf der Suche nach einer einfachen Gegenstelle,
> die den http request empfängt und mir die http Parameter anzeigt. Könnt
> Ihr mir dazu einen Tipp geben ?
>
> Vielen Dank

Ich empfehle dir zumindest auf einer Seite was „Offizielles“ zu nehmen, 
um sicherzugehen, dass du auch wirklich halbwegs Standard konform bist. 
Wie wäre es zum Beispiel mit einem nignx oder Lighttpd, mit 
entsprechender Parametrierung sollten die sehr Verbose erzählen, was sie 
Empfängen und wenn nötig kannst du auch noch einen Wireshark auf dem 
Server mitlaufen lassen.
Imonbln schrieb:
> ich versehe den TO so das er einen http Server braucht, das geht leider
> nicht mit dem FF

Genau so ist es!

Der TO möchte Daten, die  von seinem Gerät, an einen HTTP-Server 
geschickt werden, sicbtbar machen.

Es reicht ein einfacher Server, der mit seiner IP-Adresse auf einen Port 
z.B. 80 oder 8080, auf Datenpakete lauscht, die ihm ein Klient zusendet. 
Der Server soll die Daten in Klartext ausgeben.

Das Serverbeispiel in C erfüllt diese Anforderung :

https://www.geeksforgeeks.org/tcp-server-client-implementation-in-c/
A. K. schrieb:
> Ist im Grunde eine etwas flexiblere Version ebendieses Serverbeispiels

Wie äußert sich diese Flexibilität?
Liegt nc auch im Quellcode vor?

Gerade der Quellcode bietet die größte Flexibilität. Man kann leicht 
eigene Erweiterungen hinzufügen und für jede POSIX Plattform 
compilieren.
Gerald K. schrieb:
> A. K. schrieb:
>> Ist im Grunde eine etwas flexiblere Version ebendieses Serverbeispiels
>
> Wie äußert sich diese Flexibilität?

Man kann es z.B. als client oder server verwenden, man kann udp oder tcp 
wählen, es unterstützt auch IPv6, man kann einen Proxy nutzen und noch 
vieles mehr.
Einfach mal die Manpage lesen.

> Liegt nc auch im Quellcode vor?

Ja klar. Man kann sogar zwischen verschiedenen Implemementationen 
wählen. Es gibt z.B. GNU netcat, OpenBSD netcat und ncat. Letzteres kann 
z.B. auch SSL.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.