C - Auf Webseite zugreifen
-
Hallo, also ich wollte einmal eine allgemeine Frage stellen:
Ich würde gerne von einem C-Programm aus auf eine webseite zugreifen... und zwar würde ich mich gerne mit Benutzername/Passwort anmelden, PNs versenden können (text in Forms einfügen), und noch ein paar andere Dinge (is ne art community portal à la schuelervz.net)
Ist das überhaupt möglich in C? Wenn ja, mit welchen Themen sollte ich mich befassen (suchbegriffe für google
) ?
Und, falls das ganze funktionieren sollte hätte ich noch eine spezifischere Frage:
Kann ich im seitenquelltext nach bestimmten suchpassagen suchen?
Und als letztes: Geht das mit PHP einfacher?
mfg
snowie
-
Snowrabbit schrieb:
(suchbegriffe für google
) ?
http client filetype:c
-
siehe libcurl.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
[quote="Snowrabbit"]
Ist das überhaupt möglich in C?
Ja, selbstverständlich, was meinst denn du in welcher Sprache dein Browser programmiert wurde?Wenn ja, mit welchen Themen sollte ich mich befassen (suchbegriffe für google
) ?
Lies RFC2616
Da steht alles drin was du zur Kommunikation mit dem Webserver brauchst.
http://www.ietf.org/rfc/rfc2616.txtDie HTML Datei holst du dir dabei als Datenstrom und kannst diesen dann entsprechend wie einen normalen Stream bearbeiten.
Damit du deinen HTML Parser nicht selbst schreiben mußt,
kannst du dafür DOM Bibliotheken nutzen.
Eventuell nutzt die Webseite die du nutzen möchtest auch XHTML, dann
wird es mit dem Parser deutlich einfacher.
Die libxml2 sollte da helfen.
http://xmlsoft.org/Kann ich im seitenquelltext nach bestimmten suchpassagen suchen?
Ja, siehe oben.
Und als letztes: Geht das mit PHP einfacher?
Nimm lieber Java anstatt PHP.
Grund Java bietet schon von Haus aus entsprechende Klassen um mit dem HTTP Protokoll umzugehen, das erspart Arbeit.
-
Vielen Dank für die Antworten...
Ich werde mir das Dokument über das HTTP einmal durchlesen.
Java wollte ich sowieso noch lernen, deshalb werd ichs wohl in Java schreiben...
Und den Parser werd ich mir wohl auch selbst schreiben, da das Ganze ja nicht unbedingt einen großen praktischen Nutzen haben soll, sondern eher zur Übung sein soll
vielen dank.
mfg
Snowie
-
Und von den Grundlagen.
Es läuft alles über Sockets.
Du baust eine Socket auf Port 80 zum Webserver auf (wenn die Seite auf Port 80 läuft) und sendest den Header (RFC).
Danach gibt dir der Server etwas als Text auf den gleichen Socket zurück.
Dies ist dann die Webseite. (HTML oder was auch immer)
Dies kannst du dann durch einen Parser der eben HTML, XHTML, Flash, JS, oder was auch immer versteht.
Es können auch Binärdaten wie Bilder, Dateien oder ähnliches kommen.