Mit C++ Zugriff auf Inhalte einer Internetseite
glan
- programmiertechnik
Hallo,
ich habe schon im Forum von c-plusplus nachgefragt, aber die haben mir nur nicht aussagekräftige Antworten gegeben.
Also ich will mit der boost library auf Inhalte wie Text oder Eingabefelder/sonstige Formularelemente zugreifen.
Nun brauche ich da sicherlich einige bestimmte Funktionen(?) und die weiß ich nicht, also:
Kennt ihr Tutorials in denen es besser beschrieben ist als in der "boost documentation"?
MfG
Moin,
Also ich will mit der boost library auf Inhalte wie Text oder Eingabefelder/sonstige Formularelemente zugreifen.
Beschreib doch bitte mal etwas genauer, was du machen willst. So recht verstehe ich nämlich nicht was du machen willst.
Ich vermute, du möchtest mit C/C++ das machen, was man heutzutage meistens mit PHP, Ruby, Python etc. macht.
Dann heißt das Stichwort, nach dem du suchen musst, CGI. Und dafür brauchst du keine Boost-Bibliotheken.
Gruß
Stareagle
Hallo,
ich will einen Clienten programmieren (was nicht das Problem ist), und mit dem Clienten auf ein Eingabefeld auf einer Internetseite zugreifen und den Text (also den value) ändern und das Formular abschicken. Sozusagen ein Bot.
MfG
ich will einen Clienten programmieren (was nicht das Problem ist), und mit dem Clienten auf ein Eingabefeld auf einer Internetseite zugreifen und den Text (also den value) ändern und das Formular abschicken. Sozusagen ein Bot.
Hmm, ich würde sagen, dafür musst du eine TCP auf Port 80 öffnen musst, per HTTP die Seite anfordern, etc.
Oder du baust dir direkt die richtige Antwort zusammen, und sendest die an die Adresse,die den Kram auswertet. Da HTTP ein textbasiertes Protokoll ist, ist dass ohne zusätzlich Bibliotheken möglich.
Gruß
Stareagle
Hallo nochmal,
soviel wusste ich auch schon zuvor.
Dass ich TCP nehmen sollte und der Port 80 (ist ja im allgemeinen bekannt) etc.
Ich wollte nur wissen, wie ich auf die Inhalte zugreife?
Dankeschön trotzdem.
Hi!
Ich wollte nur wissen, wie ich auf die Inhalte zugreife?
Ganz einfach.
Also als erstes halt mal ein Socket öffnen. Soweit warst du ja schon.
Dann setzt du einfach selbst HTTP-Kommandos ab.
Du machst einfach genau das manuell, was auch ein Browser zum Server "sagen" würde.
Am besten probierst du das vorher mal mit deinem Telnet-Client.
Ein Telnet-Client sollte auf jedem System (auch auf Windows) zur Verfügung stehen.
Unter Windows öffnest du dazu eine Eingabeaufforderung und tippst:
telnet google.de 80
Danach tippst du dann:
GET /index.html HTTP/1.1
Und dann bekommst du erst die HTTP-Response-Header und dann den Quellcode der index.html angezeigt.
Genauso gehst du dann auch vor, wenn du beispielsweise Formulare ausfüllen willst. Dazu wirst du dann aber wahrscheinlich mit einem POST-Request arbeiten müssen.
In dem von mir verlinkten Wikipedia-Artikel findest auch einige Beispiele, wie die Kommunikation per HTTP aussieht.
Wenn du Seiten anforderst könntest du auch selbst Request-Header senden, um deinen Bot mit irgendeinem Useragent-String zu identifizieren oder dich als irgendein Browser auszugeben.
Naja, wie gesagt: Am besten testest du das erstmal alles mit einem Telnet-Client.
Wenn das wie gewünscht funktioniert und du weißt, welche Kommandos du absetzen mußt, kannst du dies dann in C++ umsetzen.
Schöner Gruß,
rob