Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Websites in C spiegeln

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.11.2002
    Beiträge
    86

    Websites in C spiegeln

    Hi,
    hat einer ne Ahnung, wie man in C eine Website spiegelt?
    Quasi eine abgespeckte wget Implementierung.
    Danke
    avuton

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Viel abgespeckter wird das sicher nicht, wenn man es selber macht.

    Dürfte auch ein Haufenarbeit sein, weil man jedes Dokument parsen muss, alle relativen URLs umsetzen muss, etc.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    28.11.2002
    Beiträge
    86
    es geht mir darum, ich will ein windowmaker applet schreiben, was news z.b. von heise darstellt, aber dazu muss das programm sich die news ja erstmal saugen und das ist das problem.
    weiß einer ne andere möglichkeit?

  4. #4
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    Hmmm...

    Also ich kann das jetzt nur aus meiner Java/QT/Kylix erfahrung heraus sagen, und soweit ich weiß, besitzen die HTML-Komponenten dieser Umgebungen bereits eine HTTP implementierung, mit der sie dynamisch, sobald eine http-url übergeben wird, sich das automatisch herunterladen.

    Außerdem:
    Soweit ich das verstanden habe, willst du nur einfach eine fixe URL herunterladen.
    Ich habe sowas man in Java gemacht - hier ist der source - vieleicht kannst du damit ja was anfangen, dieses Beispiel ist aus Javabuch (3):

    001 /* Listing4504.java */
    002
    003 import java.net.*;
    004 import java.io.*;
    005
    006 public class Listing4504
    007 {
    008 public static void main(String[] args)
    009 {
    010 if (args.length != 2) {
    011 System.err.println(
    012 "Usage: java Listing4504 <host> <file>"
    013 );
    014 System.exit(1);
    015 }
    016 try {
    017 Socket sock = new Socket(args[0], 80); //Socket mit dem übergeben host auf port 80 aufbauen
    018 OutputStream out = sock.getOutputStream();
    019 InputStream in = sock.getInputStream();
    020 //GET-Kommando senden
    021 String s = "GET " + args[1] + " HTTP/1.0" + "\r\n\r\n";
    022 out.write(s.getBytes());
    023 //Ausgabe lesen und anzeigen
    024 int len;
    025 byte[] b = new byte[100];
    026 while ((len = in.read(b)) != -1) {
    027 System.out.write(b, 0, len);
    028 }
    029 //Programm beenden
    030 in.close();
    031 out.close();
    032 sock.close();
    033 } catch (IOException e) {
    034 System.err.println(e.toString());
    035 System.exit(1);
    036 }
    037 }
    038 }
    Hoffe das hilft. Anstatt des System.out.write(b, 0, len) könntest du z.B. einen BurredWriter hernehmen und das ganze in ein File schreiben.

    Mfg
    Geändert von Lin728 (19-08-2017 um 17:53 Uhr)

  5. #5
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von avuton
    es geht mir darum, ich will ein windowmaker applet schreiben, was news z.b. von heise darstellt, aber dazu muss das programm sich die news ja erstmal saugen und das ist das problem.
    weiß einer ne andere möglichkeit?
    Nun, der Newsheadlines sind ja als RDF in einer Datei verfügbar, also wenn du eine Art Newsticker schreiben willst, wäre das die vernünftigste Quelle.

    Eine Datei zu transferieren ist nicht so schwer wenn man es selber machen müsste, aber man kann da ja auf Libs wie libcurl http://curl.haxx.se/libcurl/ zurückgreifen.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •