Announcement

Collapse
No announcement yet.

Eine web-site aufrufen und speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Eine web-site aufrufen und speichern

    Hallo,<br>
    <br>
    wie kann ich aus einem Delphi-Programm eine Internetverbindung herstellen,
    eine Seite Aufrufen (die für den Benutzer jedoch nicht angezeigt werden soll) und dann gespeichert wird. Aus der gespeicherten Web-Site möchte ich dann Informationen ziehen, die der Benutzer dann für statistische Zwecke nutzen kann. Ich denke da an eine Formel-1 Statistik. Die ausgelesenen Daten würde ich dann in einer Datenbank ablegen.
    Für Hilfe jeglicher Art wäre ich sehr dankbar.
    <br>
    Gruß,<br>
    Marco

  • #2
    Hallo Marco,

    schau dir mal unter den Demos zu Delphi das HTTP-Demo für die Fastnet-Komponenten an (...Demos\FastNet\HTTP). Das ist eigentlich genau das was du suchst.

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Hi Falk,<br>
      <br>
      danke für Deinen Tipp.Aber irgendwie werde ich da nicht so richtig schlau draus. Ich kenne mich mit diesen Komponenten noch nicht so aus und bin überfragt welche was tut. Stecke noch nicht so tief in der Delphi-Programmierung. Irgendwie habe ich die Vermutung, daß die Demo nicht ganz das macht, was ich brauche. Ich meine ich könnte natürlich auch per hand eine Web-site speichern und dann ganz einfach wie eine Textdatei behandeln. Aber das ist absolut unprofesionel. Falls Du interesse hast und noch ein paar Tipps auf Lager, wäre ich Dir wirklich sehr danbar. Ich würde das vielleicht als Abschlußprojekt für meine Ausbildung wählen.<br>
      <br>
      Gruß,<br>
      Marc

      Comment


      • #4
        Hallo Marco,

        ein Minimalvariante könnte in etwa so aussehen:<pre>
        procedure Minimal;
        begin
        NMHTTP1.OutputFileMode := True;
        NMHTTP1.ReportLevel := Status_Basic;
        NMHTTP1.Body := 'Zieldateiname';
        NMHTTP1.Get('http://www.sonstwas.de/download.htm');
        end;</pre>

        Der Aufruf von Get lädt die angegebene Datei via HTTP und speichert sie in die unter Body angegebene Datei. Dabei ist es egal ob es sich um eine HTML-Seite, eine Textdatei oder sonstwas handelt. Die so "downgeloadete" Datei kannst du dann nach deinen Wünschen auseinandernehmen und deine Infos ziehen. Die Seite wird dabei nirgendwo angezeigt.

        Gruß Fal
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          Es gibt noch die amuesante Variante es einem Java-Sklaven zu uebertragen. Das ist aber erstens nichts fuer Anfaenger und zweitens nur interessant falls viele Webseiten geholt werden sollen. Die JavaVM kuemmert sich dann automatisch um die Parallelisierung

          Comment


          • #6
            Hallo,<br>
            <br>
            leider stoße ich auf folgendes Problem, wenn ich Falks Lösungsweg nehme: Beim Start des Programms wird mir die Fehlermeldung: "Im Projekt1.exe ist eine Exception der Klasse ESockError aufgetreten. Meldung: ' Host-Lookup fehlgeschlagen'. Prozess wurde angehalten....<br>
            Es wäre klasse, wenn mir jemand helfen könnte. Ich bin ganz heiss darauf, das Progamm zum laufen zu bringen.
            <br><br>
            Gruss,<br>
            Marc

            Comment


            • #7
              Hallo,<br>
              <br>
              hat wirklich keiner eine Idee, wie man das Problem lösen könnte?<br>
              <br>
              ich habe folgenden Code verwendet:
              <br>
              <b>procedure</b> TForm1.KursHtmlHolenUndSpeichern();
              <b>begin</b>
              NMHTTP1.InputFileMode := True;
              NMHTTP1.OutputFileMode := False;
              NMHTTP1.ReportLevel := Status_Basic;
              NMHTTP1.Body := 'c:\Kurs.html';
              NMHTTP1.Get('http://de.moneycentral.msn.com/investor/quotes/quotes.asp?Symbol=DE:871460');
              <b>end</b>;
              <br>
              Es funktioniert nicht. Statdessen erhalte ich die schon im Beitrag zuvor genannte Fehlermeldung. Eigentlich müsste das doch zu lösen sein.
              <br>
              Ich freue mich über jede Hilfe und bin absolut dankbar für Eure Beiträge.<br>
              <br>
              Gruss,<br>
              Marc

              Comment


              • #8
                Hallo,<br>
                <br>
                hat wirklich keiner eine Idee, wie man das Problem lösen könnte?
                <br>
                ich habe folgenden Code verwendet:<br>
                <br>
                <b>procedure</b> TForm1.KursHtmlHolenUndSpeichern();<br>
                <b>begin</b><br>
                NMHTTP1.InputFileMode := True; NMHTTP1.OutputFileMode := False;<br>
                NMHTTP1.ReportLevel := Status_Basic; NMHTTP1.Body := 'c:\Kurs.html';<br>
                NMHTTP1.Get('http://de.moneycentral.msn.com/investor/quotes/quotes.asp?Symbol=DE:871460');<br>
                end;<br>
                <br>
                Es funktioniert nicht. Statdessen erhalte ich die schon im Beitrag zuvor genannte Fehlermeldung. Eigentlich müsste das doch zu lösen sein.
                Ich freue mich über jede Hilfe und bin absolut dankbar für Eure Beiträge.

                Gruss,
                Marc

                Comment


                • #9
                  Hallo Marco,

                  wenn ich eine Kompo TNMHTTP auf ein leeres Form packe, einen Button dazu und deinen Code hinter OnClick lege, dann funktioniert das bei mir ohne Probleme. Die Datei landet komplett in c:\kurs.html. Es muß also irgendwie an deiner Internetkonfiguration liegen.

                  Gruß Fal
                  Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                  Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                  Comment


                  • #10
                    Hallo Falk,<br>
                    <br>
                    Ich habe keine Ahnung ob es daran liegt, dass ich hinter einer Firewall stecke? Teste hier aus der Firma. Bei der NMHTTP-Koponente
                    lassen sich ja noch einige Eigenschaften setzen. Proxy und so...
                    Das wäre echt schade,wenn das nicht klappt.<br>
                    <br>
                    Gruss,<br>
                    Marc

                    Comment


                    • #11
                      Hi Marco,

                      ich sitze auch hinter einer Firewall..
                      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                      Comment


                      • #12
                        Guten Morgen,<br>
                        <br>
                        ich stehe hier kurz vor der allerletzten Verzweiflung.<br>
                        Ich kann mir nicht erklären, warum das kleine Programm (siehe oben)<br>
                        bei mir nicht funktioniert. Ich habe es gestern sogar noch mal zu Hause getestet und auch dort bekam ich die Fehlermeldung: <b>Konnte Verbindung nicht herstellen</b>.<br>
                        Ich habe natürlich vor Programmstart mich ins Internet eingewählt. Kann es sein. Muss ich bei der Internetkonfiguration auf irgendetwas achten, in der Netzwerkeinstellung oder so????
                        Wer kann mir helfen

                        Comment


                        • #13
                          Hallo Marco,<br>ich sitze auch hinter einer Firewall. Nachdem ich die Eigenschaften Proxy und Proxyport konfiguriert habe läuft Dein Code bei mir.<br>Jens Schuman

                          Comment


                          • #14
                            Hallo Jens,<br>
                            <br>
                            wie bekomme ich den Proxyport heraus? Den Namen des Proxys habe ich.<br>
                            Habe gestern schon versucht mit Proxy und verschiedenen Proxyports eine Verbindung zu bekommen, hat aber nicht geklappt.
                            <br>
                            Habe von dir noch einen Anderen Beitrag im Forum zu diesem Thema gefunden. Frage mich nur, an welcher stelle eine Web-Site aufgerufen wird.<br>
                            <br>
                            procedure TForm1.ToolButton3Click(Sender: TObject);
                            <b>var</b><br>
                            <pre> vHTML : OleVariant;</pre><br>
                            <pre> HTMLText : String; ;</pre><br>
                            <b>begin</b> <br>
                            <pre> if not VarIsEmpty(WebBrowser1.Document) then;</pre><br>
                            <pre> vHTML := OleVariant;</pre><br>(WebBrowser1.Document).Script.Document.Bod y.InnerHTML;<br>
                            HTMLText:=vHTML; <br>
                            ShowMessage(HTMLText); // Hier mußt Du den Text nicht anzeigen
                            <b>end;</b>

                            Kannst Du mir dazu auch noch etwas sagen?<br>
                            Danke für Deine Hilfe.<br>
                            <br>
                            Gruss,<br>
                            Marc

                            Comment


                            • #15
                              Wenn ich den Proxy setze ohne Proxyport, dann bekomme ich die Meldung
                              "Host-Lookup fehlgeschlagen".<br>
                              Zur Info, ich Verwende im IE6 eine automatische Konfiguration. Beide Häkchen aktiv. Proxy eingetrage

                              Comment

                              Working...
                              X