GET, Inhalt von HTML Seite auslesen.



  • Hallo,
    ich habe in Internet nach Lösungen und Beispiele gesucht, aber leider nicht gefunden der mir weiter helfen könnte oder für mich Verständlich wäre.
    Ich will aus eine Html Seite den Inhalt in ein String Speichern damit ich später damit arbeiten kann.
    Habe jetzt gelesen dass ich das mit GET mach kann.
    In mein Code in Zeile 23 kommt die Ausgabe 1.
    Ich hoffe ihr könnt mir helfen, Dank im Voraus.

    #include <time.h>
    #include <stdio.h>
    #include "/usr/include/mysql/mysql.h"
    #include <iostream>
    #include <fstream>
    #include <string>
    
    using namespace std;
    
    int main() {
    	.
    	.
    	.
    	.
    
    	// Schleife geht die Ergebnisse durch
            result = mysql_store_result(connection);
    	while ( ( row = mysql_fetch_row(result)) != NULL ) {
    
    	char msg[1024] = "GET ",row[3];
    	strcat (msg,"HTTP/1.1");
    	cout << strcat;
    	cout << "\n";
    
    	}
    
            //Ergebnisvariable leeren
            mysql_free_result(result);
    
            //Datenbankverbindung schließen
            mysql_close(connection);
    	}
        return 0;
    
    }
    


  • Oha, da versteht man ja echt nicht viel. Zum einen mixt du froh und munter C und C++ Code. Zum anderen wird weder genau aus deinem Text noch aus deinem Code ersichtlich, was du nun willst. Willst du einfach eine HTML Datei, die sich auf deinem Rechner befindet einlesen oder willst du die HTML Datei von einem Webserver im Netz abfragen? Zumal ich nicht verstehe, was du da mit den Funktionen der MySQL API machen willst. Welchen Sinn soll denn Zeile 23 haben? Beantworte bitte die Fragen und versuch dein Problem bzw. dein Vorhaben etwas ausführlicher darzustellen.



  • Hi,
    also die Mixtur bei der Programmierung kommt zu Stande, weil ich zum Ersten mal in Linux Programmiere.
    Ich möchte die HTML (Inhalt) Datei von einem Webserver im Netz abfragen und in ein String speichern.

    Der Sinn von

    cout << strcat;
    

    war das zusammen bringen

    "GET row[3] HTTP/1.1"
    

    Also ich bin für jede Info und Tipps zu Programmierung (unter Linux) Dankbar.

    Hoffe ich könnte deine Fragen beantworten und du kannst mir weiter helfen.



  • Fangen wir mal klein an.

    Du willst eine HTML Datei von einem Webserver anfordern. In deinem Code ist aber nicht mal Ansatzweise etwas von einem Socket zu erkennen. Hast du dich denn schonmal mit der Socketprogrammierung / Netzwerkprogrammierung auseinander gesetzt? Für die Kommunikation zweier Rechner über ein Netzwerk braucht du Sockets bzw. andere Modelle zum Austausch von Daten über ein Netzwerk.

    Du musst dich auch unter Linux entscheiden, ob du C oder C++ verwendest. Das fängt schon bei der Standardein- und ausgabe an. Entweder <iostream> oder <stdio.h>. Beides macht keinen Sinn und zeugt von schlechtem Stil.

    strcar() ist eine Funktion, die du in der Zeile 22 auch, zumindest auf den ersten Blick, richtig anwendest. Diese Zeile

    cout << strcat;
    

    macht aber absolut keinen Sinn, da du versuchst, eine Funktion wie eine Variable an die Standdardausgabe zu übergeben. Da hast du grundsätzliches an der Sprache C++ nicht verstanden.

    Solange man sich einigermaßen am Standard entlangbewegt macht es keinen Unterschied, ob du unter Windows oder Linux programmierst. Dein Code wäre also auch unter Windows genau so kritikwürdig.



  • Da gib ich dir Recht.
    Zu mein Problem hättest du eine Lösung für mich wie ich mein Problem lösen kann.
    Das wäre Klasse oder einen Lösungsansatz wie ich dann drauf aufbauen kann?

    Danke.



  • im unterforum artikel hier im forum gibt es eine gute übersicht über socketprogrammierung, mit beispiel.


Anmelden zum Antworten