Forum: PC-Programmierung HTML Daten über serielle Schnittstelle verschicken


von Tobi (Gast)


Lesenswert?

Hallo

Ich würde gern die HTML Daten von http://m.kwick.de/ mit einem 
selbstgeschriebenen Programm auslesen (die verändern sich nie, des heist 
wenn eine neue KWICK Version rauskommt bleibt die mobile version davon 
unberührt) und sie dann über die serielle Schnittstelle an die ein 
433MHZ Sendermodul angeschlossen ist versenden. Mit einem 
Mikrocontroller empfange ich sie dann un zeige sie auf einem Farbdisplay 
an.
Also der Empfängerbaustein funktioniert (Display un Mikrocontroller), 
der Funk is ja nicht das Problem weil der ATmega128 hat C Routinen dafür 
und 433Mhz Module kauf ich mir nen Set des funkt. Das Problem ist wie 
ich die HTML-Daten auslesen kann un weiterschicken. Ich hab keine Ahnung 
wie man mit einem Programm (am liebsten C# weil da hab ich mal nen 
Praktikum gemacht) erstmal den Benutzernamen und des Passwort überträgt 
un dann den Code herunterlädt und an die Schnitstelle weitergibt. (Das 
Programm soll später selbständig ohne Benutzereingaben unter Autoexe 
laufen und für den Benutzer unsichtbar sein) Kann mir jemand helfen? 
Danke schonmal im Vorraus

Tobi

von Rik Langobar (Gast)


Lesenswert?

Hi,
google mal nach "perl", "LWT" und "post". Damit kannst du das Problem 
mit 10 Zeilen Code erschlagen.

von Aahh (Gast)


Lesenswert?

Diese Funktionalitaet nennt sich Webserver. Du willst einen Webserver 
inplementieren. Ueber Serial. Das geht. Hab ich auch mal gemacht. Du 
must das HTTP Protokol implementieren. Dann die ankommenden anfragen 
bearbeiten. Die infos zu Http findet man im Netz.

von Gast (Gast)


Lesenswert?

wget [options] http://m.kwick.de/ > /dev/ttyS0

von Frank (Gast)


Lesenswert?

Ich sehe das so:

Der OP will mit einer Anwendung auf einem PC per HTTP-Get-Statement eine 
Webseite von einem Server aus dem Internet abrufen. Darauf antwortet 
dieser mit einem HTML-formatierten Datenstrom (Textfile).

Diesen möchte er über eine serielle Schnittstelle an eine MC-Applikation 
senden. Für die vollständige Darstellung bräuchte er auf dem MC 
tatsächlich eine Browser-Anwendung, die HTML interpretieren kann.

Aber es geht vermutlich auch anders. Man könnte bereits in der 
PC-Anwendung ein Parsing durchführen und nur die Daten zum MC-System 
senden, die dort tatsächlich benötigt werden - am Besten reinen Text. 
Das dürfte die Ansprüche an das MC-System drastisch reduzieren.

Die Anwendung auf dem PC ist mit ein par Zeilen Delphi, VB, Realbasic 
oder was auch immer zu erledigen ...

Frank

von Helfer (Gast)


Lesenswert?

Die Lösung von Gast (Gast) für Windows:
1
curl.exe -d benutzer=bla -d pw=blub http://m.kwick.de/ -o "kwick.htm"
2
copy "kwick.htm" COM1
Mit mode kannst du die serielle Schnittstelle konfigurieren.

cURL Homepage:
http://curl.haxx.se/

von Tobias F. (tobias-frintz)


Lesenswert?

Hallo

Danke für die Hilfe. Ich hab jetzt mal als zwischenschritt die 
HTML-Daten nicht verschikt per com sondern erstmal in einer Textbox 
angezeigt, mit folgendem Quelltext:

        private void webBrowser1_DocumentCompleted(object sender, 
WebBrowserDocumentCompletedEventArgs e)
        {

            string strHTML = this.webBrowser1.DocumentText;

            int iHTML = strHTML.IndexOf("<body>", 0);

            string strVorabErgebnis = strHTML.Substring(iHTML + 6, 
(strHTML.Length - (iHTML + 6)));

            int iVorabErgebnis = strVorabErgebnis.IndexOf("</body>", 0);

            this.richTextBox1.Text = 
strVorabErgebnis.Remove(iVorabErgebnis);
        }

Als Ausgabe bekomme ich den Quelltext. Wie kann ich jetzt ohne 
Benutzereingaben die 2 Textboxen <input class="text" type="text" 
name="kwick_username" /> und <input class="text" type="password" 
name="kwick_password" /> mit Text füllen und anschlisend einloggen? ich 
schaff des nicht nen string (Benutzername, Passwort) in die HMTL Textbox 
einzufügen.

<div class="top">
<img src="/img/mobile_toplogo.gif" alt="" width="78" height="25" /><br 
/>
</div>
<div class="caption">
KWICK! Mobile - Login
</div>
<form action="/" method="post">
<p>
<small>
Benutzername:
</small>
<br/>
<input class="text" type="text" name="kwick_username" />
<br/>
<br/>
<small>
Passwort:
</small>
<br/>
<input class="text" type="password" name="kwick_password" />
<br/>
<input class="submit" type="submit" name="Login" value="Login" />
</p>

von Helfer (Gast)


Lesenswert?

>schaff des nicht nen string (Benutzername, Passwort) in die HMTL Textbox
>einzufügen.
das ist auch ein Holzweg

><form action="/" method="post">
sagt uns dass es sich um eine POST Anfrage handelt
d.h. du musst die Daten mit POST verschicken
wie? ich kann kein C#
bei curl gibts dafür die Option -d
1
curl.exe -d kwick_username=dein_name -d kwick_password=dein_pw -d Login=Login http://m.kwick.de/ -o "kwick.htm"

von Tobias F. (tobias-frintz)


Lesenswert?

jaa ich weiß halt nicht wie des richtig geht xD ...

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.