Quelltext einer Website auslesen.

Schnelle objektorientierte, kompilierende Programmiersprache.
canlot
Beiträge: 393
Registriert: Di Mär 08, 2011 11:01 pm
Wohnort: NRW

Quelltext einer Website auslesen.

Beitrag von canlot » Fr Sep 23, 2011 11:16 am

Wie die Überschrift schon sagt will ich den Quelltext aus einer Westeite auslesen.

Ich habe im Internet gesucht und nichts passendes gefunden. Entweder haben die kompilierten Programme gestreikt oder die Anleitung war unverständlich. :x
Eines weiß ich: dass man mit Sockets arbeiten muss, aber wie ????.
Könnte mir einer bitte erklären oder ein ausführliches Tutorial empfehlen wo alles genau beschrieben steht und der Quellcode für C auch kompilerbar ist.

Vielen Dank im Vorraus.
Zuletzt geändert von canlot am Fr Sep 23, 2011 11:36 am, insgesamt 1-mal geändert.
Unwissenheit ist ein Segen

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Qelltext einer Website auslesen.

Beitrag von Xin » Fr Sep 23, 2011 11:24 am

canlot hat geschrieben:Wie die Überschrift schon sagt will ich den Quelltext aus einer Westeite auslesen.

Ich habe im Internet gesucht und nichts passendes gefunden. Entweder haben die kompilierten Programme gestreikt oder die Anleitung war unverständlich. :x
Eines weiß ich: dass man mit Sockets arbeiten muss, aber wie ????.
Könnte mir einer bitte erklären oder ein ausführliches Tutorial empfehlen wo alles genau beschrieben steht und der Quellcode für C auch kompilerbar ist.

Vielen Dank im Vorraus.
Gaaanz einfach kannst Du es Dir machen, wenn Du das Programm "wget" aufrufst.

Code: Alles auswählen

wget http://www.proggen.org/doku.php
Du postest aber in C/C++. Ein Tutorial wüsste ich jetzt nicht, im schlimmsten Fall könnte ich Dir höchstens eins schreiben. Das könnte aber ein Weilchen dauern. Wenn Du etwas weniger Geduld hast, könnte ich Dir heute abend einen C-Quellcode in den Thread kopieren, der genau das macht - wenn ich ihn auf die Schnelle finde. Ich habe das nämlich schonmal geschrieben.

Wobei... das wäre dann Linux, ob/wie das auf Windows zu übertragen wäre... ich weiß ja nicht auf welchem OS Du überhaupt unterwegs bist?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

canlot
Beiträge: 393
Registriert: Di Mär 08, 2011 11:01 pm
Wohnort: NRW

Re: Quelltext einer Website auslesen.

Beitrag von canlot » Fr Sep 23, 2011 11:33 am

Xin hat geschrieben:Du postest aber in C/C++. Ein Tutorial wüsste ich jetzt nicht, im schlimmsten Fall könnte ich Dir höchstens eins schreiben. Das könnte aber ein Weilchen dauern. Wenn Du etwas weniger Geduld hast, könnte ich Dir heute abend einen C-Quellcode in den Thread kopieren, der genau das macht - wenn ich ihn auf die Schnelle finde. Ich habe das nämlich schonmal geschrieben.
Ein Tutorial ist vielleicht zu viel, aber sehr nett von Dir^^
Ein Quelltext der verständlich ist und sich kompilieren lässt würde ausreichen, wenn ich etwas nicht verstehe dann frage ich einfach :D.
Xin hat geschrieben:Wobei... das wäre dann Linux, ob/wie das auf Windows zu übertragen wäre... ich weiß ja nicht auf welchem OS Du überhaupt unterwegs bist?
Ich nutze Windows, wenn man es aber mit Sockets mach dann muss das doch auch auf Windows laufen, oder ?

edit: kann man den Themennamen ändern? ;)
Unwissenheit ist ein Segen

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Quelltext einer Website auslesen.

Beitrag von nufan » Fr Sep 23, 2011 11:43 am

Vielleicht hilft dir auch das weiter:
http://www.proggen.org/forum/viewtopic.php?f=32&t=1354

canlot
Beiträge: 393
Registriert: Di Mär 08, 2011 11:01 pm
Wohnort: NRW

Re: Quelltext einer Website auslesen.

Beitrag von canlot » Fr Sep 23, 2011 12:01 pm

dani93 hat geschrieben:Vielleicht hilft dir auch das weiter:
http://www.proggen.org/forum/viewtopic.php?f=32&t=1354
Ähm nein danke, Qt ist nichts für mich(vorerst).
Ich hätte nichts dagegen wenn ich das mit Sockets programmieren muss, auch wenn ich ziemlich viel lernen müsste.
Ich habe diesen Beispiel mal compiliert : http://cplus.kompf.de/artikel/httpget.html was ausnahmsweise mal tadellos funktioniert hatte, bekam aber dies ausgespuckt: "can't connect to server: no eror".
Ich verstehe den code auch nicht, woher nimmt er die IP-Adresse??? ist mir ein Rätsel.
Unwissenheit ist ein Segen

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Quelltext einer Website auslesen.

Beitrag von nufan » Fr Sep 23, 2011 12:14 pm

canlot hat geschrieben:
dani93 hat geschrieben:Ich verstehe den code auch nicht, woher nimmt er die IP-Adresse??? ist mir ein Rätsel.
Folgender Teil wandelt die per Kommandozeilenparameter übergebene URL eine IP um:

Code: Alles auswählen

/* Erzeuge die Socketadresse des Servers 
     * Sie besteht aus Typ, IP-Adresse und Portnummer */
    memset( &server, 0, sizeof (server));
    if ((addr = inet_addr( argv[1])) != INADDR_NONE) {
        /* argv[1] ist eine numerische IP-Adresse */
        memcpy( (char *)&server.sin_addr, &addr, sizeof(addr));
    }
    else {
        /* Wandle den Servernamen in eine IP-Adresse um */
        host_info = gethostbyname( argv[1]);
        if (NULL == host_info) {
            fprintf( stderr, "unknown server: %s\n", argv[1]);
            exit(1);
        }
        memcpy( (char *)&server.sin_addr, host_info->h_addr, host_info->h_length);
    }

canlot
Beiträge: 393
Registriert: Di Mär 08, 2011 11:01 pm
Wohnort: NRW

Re: Quelltext einer Website auslesen.

Beitrag von canlot » Fr Sep 23, 2011 12:18 pm

dani93 hat geschrieben:
canlot hat geschrieben:
dani93 hat geschrieben:Ich verstehe den code auch nicht, woher nimmt er die IP-Adresse??? ist mir ein Rätsel.
Folgender Teil wandelt die per Kommandozeilenparameter übergebene URL eine IP um:

Code: Alles auswählen

/* Erzeuge die Socketadresse des Servers 
     * Sie besteht aus Typ, IP-Adresse und Portnummer */
    memset( &server, 0, sizeof (server));
    if ((addr = inet_addr( argv[1])) != INADDR_NONE) {
        /* argv[1] ist eine numerische IP-Adresse */
        memcpy( (char *)&server.sin_addr, &addr, sizeof(addr));
    }
    else {
        /* Wandle den Servernamen in eine IP-Adresse um */
        host_info = gethostbyname( argv[1]);
        if (NULL == host_info) {
            fprintf( stderr, "unknown server: %s\n", argv[1]);
            exit(1);
        }
        memcpy( (char *)&server.sin_addr, host_info->h_addr, host_info->h_length);
    }
Schön und gut, aber woher nimmt er die URL? ^^ hat argv[1] was damit zu tun?
Unwissenheit ist ein Segen

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Quelltext einer Website auslesen.

Beitrag von nufan » Fr Sep 23, 2011 12:31 pm

canlot hat geschrieben:Schön und gut, aber woher nimmt er die URL? ^^ hat argv[1] was damit zu tun?
Wie gesagt, die URL wird per Kommandozeilenparameter übergeben.

nouseforname
Beiträge: 236
Registriert: Do Feb 10, 2011 6:31 pm

Re: Quelltext einer Website auslesen.

Beitrag von nouseforname » Fr Sep 23, 2011 1:41 pm

Komisch, ich hatte doch vorhin auch gepostet dass da sogar ein Beispiel ist wie der Servername bzw. Die IP als Argument übergeben wird. Aber nun seh ich den Post nicht... (oO wohl vor lauter demenz vergessen auf "Absenden" zu klicken)

Beispiel:

Code: Alles auswählen

httpget http://www.apache.org /index.html

canlot
Beiträge: 393
Registriert: Di Mär 08, 2011 11:01 pm
Wohnort: NRW

Re: Quelltext einer Website auslesen.

Beitrag von canlot » Fr Sep 23, 2011 2:50 pm

dani93 hat geschrieben:
canlot hat geschrieben:Schön und gut, aber woher nimmt er die URL? ^^ hat argv[1] was damit zu tun?
Wie gesagt, die URL wird per http://www.proggen.org/doku.php?id=c:fu ... :parameterKommandozeilenparameter übergeben.
Kann ich den auch so übergeben

Code: Alles auswählen

argv[1] = "http://www.proggen.org/?id=start";
?
Unwissenheit ist ein Segen

Antworten