mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik HTTP Request (Wie kann ich es machen?)


Autor: R.Pablo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alle,
ich arbeite ja seite einige zeit mit dem XPort AR und jetzt versuche ich 
den XPort mit einem andere web server zu verbinden bis da keine problem 
gehabt. nach die Verbindung will ich einige datei from dem web server 
holen und da kommt der Mikrocontroller im spiel. ich weissse das um die 
Daten im Web zu holen muss ich eine HTTP Request machen. und da habe ich 
noch keine erfahrung.
kann jemand mir sagen wie ich ein solche request machen kann. oder wo 
ich die Litteratur darüber finden kann
N.B.: Der Mikrocontroller der ich benutze ist die ATmega16 von ATmel und 
die Programme schreibe ich im C.

Ich danke Ihnen im voraus für Ihre Hilfe
MFG
Pablo

Autor: Oliver Döring (odbs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Oliver Döring (odbs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> telnet www.mikrocontroller.net 80

Trying 88.198.17.227...
Connected to www.mikrocontroller.net.
Escape character is '^]'.

> GET / HTTP/1.0
>

HTTP/1.0 404 Not Found
Date: Fri, 26 Oct 2007 10:44:52 GMT
Server: LiteSpeed
Connection: close
Cache-Control: private, no-cache, max-age=0
Pragma: no-cache
Content-Type: text/html
Content-Length: 390

<html>
<head><title> 404 Not Found
</title></head>
<body><h1> 404 Not Found
</h1>
...

Autor: R.Pablo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halloo!!
ich verstee nicht was du geschrieben hast. kannst du das einbischen 
ausführliche machen Bitte Oliver.
Danke

Autor: R.Pablo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
hat jemand eine idee?
ich brauche Ihre Hilfe
MFG
Pablo

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Icke Muster (Firma: my-solution) (hendi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Requests machst du über GET oder Post. Bei GET werden deine Parameter in 
die Adresse verpackt, bei POST an die Html File angehängt. Du könntest 
zum Beispiel mit GET ein Skript auf dem Server aufrufen, dass dir deine 
Daten übergibt, oder direkt die Dateien ansprechen? Gesendet wird als 
String, mit carriage return und line feed, wenn man sich genau an die 
spec hält, verpackt in TCP/IP, verpackt in Ethernet. Das heißt für deine 
Antworten erhälst du einen gewissen Nachrichtenoffset, falls du auf 
unterster Ebene arbeitest. Ansonsten kann ich dir den Fiddler2 
empfehlen, das ist ein freier Webdebugger, der als zusätzliche 
Schnittstelle zwischen Client und Server fungiert. Damit kannst du z.B. 
auch erst mal auslesen wie z.B. eine Googleanfrage realisiert ist oder 
ähnliches, ich denke das hilft dir weiter.
Wer fragt eigentlich? Der Xport, oder der uC?

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wer fragt eigentlich? Der Xport, oder der uC?

Steht do oben: Mit dem XPORT soll ein anderer Webserver angesprochen 
werden.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Icke Muster wrote:
> bei POST an die Html File angehängt.

An welches Html-File? Man schickt doch einen POST-Request. Da gibt es 
nur den POST-Header und eben die Parameter. Aber doch kein Html-File.

Autor: R.Pablo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der Mikrocontroller schickt der HTTP request zum XPort und der XPort 
sollt sich mit ein bestimmte website verbinden und dort daten holen und 
per serielle zum Mikrocontroller weiter schicken. da ist ein Beispiel 
das ich machen will. aber ich habe keine Ahnung wie ich diese request 
schreiben kann
MFG
Pablo

Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Xport muss sich mit dem Webserver auf Port 80 verbinden.
Danach schickst du
GET /dateiname HTTP/1.0\n\n
an den Webserver (der 2. Zeilenumbruch schliest den Request ab und der 
Webserver antwortet).
Wenn du noch Daten zum Webserver senden willst, häng sie an den 
Dateinamen an:
GET /index.html?hallo=welt&ich=hier HTTP/1.0\n\n

Da Heutzutage die meisten Webserver mehr als eine Domain bedienen 
(Vhost) must du eventuell noch angeben welche Domain du haben willst:
Host: www.mikrocontroller.net

Im ergebniss also:
GET /topic/82044 HTTP/1.0
Host: www.mikrocontroller.net


[Leifert dir diesen Thread]

Zum testen kann man (wie oben erwähnt) telnet benutzen.

Autor: Paul Z. (alohaman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mir ist in diesem Zusammenhang noch nicht ganz klar, wie die 
Implementierung eines HTTP-GET-Requests auf dem XPort-AR abläuft. Muss 
ich das HTTP selbst implementieren oder gibt es direkt eine 
schnittstelle in den CLI-commands?? also eine art GET-Kommando so wie 
bei Telnet?

Ich weiß es gibt Befehle für TCP-Vebindungen. Über die könnte ich mir 
das HTTP-Protokoll selber zusammenbauen und so eine Verbindung über Port 
80 am Webserver erstellen. Oder geht es eben doch einfacher?

Danke!

Autor: VB-Hasser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Paul Zeman schrieb:
> also eine art GET-Kommando so wie
> bei Telnet?

Telnet hat kein GET-Kommando. Hier wird telnet als mehr oder weniger 
transparente Konsole<->TCP Brücke verwendet.
Genauso kannst du den XPort als Seriell<->TCP Brücke verwenden.

Also: Probier das mit dem Telnet mal aus. Wenn du's verstanden hast:

Alles was du auf der Tastatur eingetippt hast, musst du (bzw der µC) 
nacher an den XPort senden (nach dem Verbindungsaufbau)

Autor: Paul Z. (alohaman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank!

Werd ich mich gleich mal dahinter setzen!

LG

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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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