![]() |
HTML Seite einlesen
ich versuche mit Delphi 6 (fastnet) eine HTML- Seite Zeile für Zeile einzulesen. Aber irgendwie haut das nicht hin. Diese Zeilen liefern ein seltsames Ergebnis:
NMHTTP1.Host := 'www.google.de'; NMHTTP1.Connect(); NMHTTP1.Writeln('GET /index.html'); for i:= 0 TO 6 do * Memo1.Lines.Add(NMHTTP1.ReadLn()); NMHTTP1.Disconnect(); Es kommt die Meldung: Fehler bei der Bereichsprüfung (Zeile *). Wenn ich aber folgenden Code benutze: NMHTTP1.Host := 'www.google.de'; NMHTTP1.Get('/index.html'); Memo1.Lines.Add(NMHTTP1.Body) funktioniert es. Warum geht das Einlesen Zeile für Zeile nicht, bzw. wie bekomme ich das hin? Besten Dank Daniel |
Re: HTML Seite einlesen
Ich mach das immer mit IdHTTP von Indy
Delphi-Quellcode:
function Siteload(const AURL: String): String;
var IdHTTP: TIdHTTP; begin IdHTTP:=TIdHTTP.Create(nil); try Result:=IdHTTP.Get(AURL); finally IdHTTP.Free; end; end; |
Re: HTML Seite einlesen
die Verwendung von IdHTTP von Indy funktioniert auch nicht. Das zeilenweise Einlesen funktioniert einfach nicht. Das Seltsame ist, dass die Verwendung
Code:
die Seite richtig lädt, aber mit dem Befehl
Get('/index.html');
Code:
und anschließendem
WriteLn('GET /index.html');
Code:
funktioniert es nicht. Wenn ich IdHTTP benutze, dann erhalte ich von dem Server einen 404 Fehler, bzw. beim Google- Server geht es gar nicht.
ReadLn();
|
Re: HTML Seite einlesen
Mit meinem Indy-Code liest du die ganze Seite ein ;-)
Delphi-Quellcode:
Mit
memo1.text:=siteload('http://www.og4all.de');
Delphi-Quellcode:
kannste speichern
memo1.lines.loadfromfile('index.html');
Mit
Delphi-Quellcode:
kannste die Zeilen auslesen
memo1.lines.strings[Zeile-1];
|
Re: HTML Seite einlesen
mir geht es darum, dass die Seite nicht auf einmal komplett geladen werden muss. Ich will auf eine große Datei im Internet zugreifen, die nicht auf einmal geladen werden soll, sondern immer nur eine Zeile, die ausgewertet wird, dann soll die nächste Zeile geholt werden usw.
Es soll ein MailProgramm werden, dass sich aus dieser Datei die eMail- Adressen holt, die eMail an den User verschickt, sich dann die nächste Zeile holt ... Hole ich mir alle Adressen auf einmal, dauert dies zu lange und ich muss alle Adressen zwischenspeichern, was auch nicht passieren soll. Und darum wäre es gut, wenn ich mit ReadLn() immer nur eine Zeile holen könnte. |
Re: HTML Seite einlesen
Soll das ein Spider zum spammen werden?
|
Re: HTML Seite einlesen
nein, kein Spammer. Da meine Site gehostet wird, kann ich mit Delphi keinen direkten Connect zur DB herstellen (wird von dem Provider unterbunden). Deshalb muss ich das Ganze mit einem Skript "umgehen". Ich rufe mit der Anwendung ein Skript von meiner WebSite auf, das wiederum alle eMail- Adressen in eine Datei schreibt. Und diese Datei möchte ich dann mit dem Programm auslesen, um die Mitglieder anzuschreiben. Es handelt sich nicht um ein Spam, da sich die Leute bewußt bei mir eintragen, um über Neuigkeiten informiert zu werden. Nur sind es mittlerweile zu viele, so dass ich die Mitglieder nicht mehr über ein PHP- Skript anschreiben kann, sondern dies muß über eine eigene Anwendung laufen.
|
Re: HTML Seite einlesen
meinst du eine mySQL-Datenbank? Du weißt schon das Delphi auf SQL-Datenbanken zugreifen kann !?!??!
|
Re: HTML Seite einlesen
ja, es ist eine MySQL- Datenbank. Das ich mit Delphi die DB ansprechen kann, ist mir bekannt, klappt intern auch, aber nicht extern, da ein Zugriff auf die DB (von meinem Provider) nur über deren Server möglich ist (ich habe das schon getestet!).
|
Re: HTML Seite einlesen
sorry, zeilenweise auslesen/downloaden kenn ich nicht. Mit einem PHP script sollte das aber gehen....
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz