![]() |
Webseite auslesen Error 403 forbidden
Hallo!
Ich möchte mit fogender Routine den Inhalt einer Web Seite zunächst erstmal in ein Memo laden:
Delphi-Quellcode:
Bei einfachen Links zB. 'www.google.de' funzt die get-Methode. Mit einem Link wie oben eingegeben nicht.
procedure TForm1.Button1Click(Sender: TObject);
begin memo1.Text := idHTTP1.Get('http://www.google.com/custom? q=blahblah&domains=www.blahblah&sitesearch=www.blahblah.de'); end; Dann bekomm ich eine Exception mit der Meldung Error 403 forbidden. Wenn ich den Link direkt in Google eingebe funzt er. Kann man da irgendwas machen? Gruß Gambit |
Re: Webseite auslesen Error 403 forbidden
genau das problem habe ich auch, ha wer ne lösung?
|
Re: Webseite auslesen Error 403 forbidden
Moin,
ich hab mir ein Webbrowser Objekt genommen... und dann z.B so:
Delphi-Quellcode:
den HTML-Code der Webseite bekommst du dann z.B so:
URL := 'http://www.google.com/custom?usw...
webbrowser1.Navigate(URL,x,x,x,x);
Delphi-Quellcode:
diese Zeile packe ich in die Ereignismethode OnDocumentComplete des Webbrowsers.
BodyText:= WebBrowser1.OleObject.Document.Body.InnerHtml;
Damit der Webbrowser auf deiner Form nicht angezeigt wird, kannst du folgendes machen:
Delphi-Quellcode:
Ob das nun besonders clever so ist weiß ich nicht, es funzt aber...
procedure TForm1.FormActivate(Sender: TObject);
begin ShowWindow(Webbrowser1.Handle, SW_HIDE); end; Gruß Gambit |
Re: Webseite auslesen Error 403 forbidden
Mit den Indy-Kompos wurde auf Google schon zu viel Müll getrieben und so wurden diese blockiert. Hier die einfache Lösung:
Code:
...:cat:...
procedure TForm1.Button1Click(Sender: TObject);
begin [color=#ff0000]idHTTP1.Request.UserAgent := 'Mozilla';[/color] memo1.Text := idHTTP1.Get('http://www.google.com/custom? q=blahblah&domains=www.blahblah&sitesearch=www.blahblah.de'); end; |
Re: Webseite auslesen Error 403 forbidden
DANKE sakura, es klappt :thuimb:
|
Re: Webseite auslesen Error 403 forbidden
Ja, stimmt, das klappt gut.
Diese Zeile:
Delphi-Quellcode:
ist die nur nötig bei einem Zugriff auf Google? Was ist, wenn ich sofort danach noch auf eine andere Domain zugreifen will?
idHTTP1.Request.UserAgent := 'Mozilla';
Muss ich dann auch noch irgendein UserAgent angeben? Ich erhalte manchmal im Programm die Meldung: "Die Verbindung wurde erfolgreich beendet" ohne eine Exception. Dann wird die Seite nicht weiter geparsed. Was hat es damit auf sich? Kennt das jemand? Gruß Gambit |
Re: Webseite auslesen Error 403 forbidden
ne, klappt doch nicht, gibt man als Suchbegriff hinter q 2 Wörter ein, die mit Leerzeichen getrennt sind, bekommt man einen Socket Error...
Gruß Gambit |
Re: Webseite auslesen Error 403 forbidden
Hi!
Müssen die nicht mit + verbunden werden? Ciao fkerber |
Re: Webseite auslesen Error 403 forbidden
ja, aber warum klappt es dann, wenn man den Link direkt im Browser eingiebt? Macht der dann den Fehler weg?
Gruß Gambit |
Re: Webseite auslesen Error 403 forbidden
Hi!
Jepp, der wandelt die Leerzeichen zu %20 um. Ciao fkerber |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:15 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