Bieten die Indys nicht irgendwo eine Funktion, um den Host aus einer
URL zu extrahieren?
Irgendwo muß die robots.txt ja auch gesucht werden und ich hab keine Lust das manuell zu zerpflücken.
Delphi-Quellcode:
Function SiteDownload(
Var GetText:
String;
URL:
String;
HTTPOption: TIdHTTPOptions = [hoForceEncodeParams];
ProxyServer:
String = '
'; ProxyUsername:
String = '
'; ProxyPassword:
String = '
';
ProxyPort: Integer = 80; RobotName:
String = '
dpSiteGraber'): Boolean;
Var H: TIdHTTP;
rURL, S:
String;
Begin
H := TIdHTTP.Create(
nil);
Try
H.HandleRedirects := True;
If ProxyServer <> '
'
Then Begin
H.ProxyParams.ProxyServer := ProxyServer;
H.ProxyParams.ProxyPort := ProxyPort;
H.ProxyParams.ProxyUsername := ProxyUsername;
H.ProxyParams.ProxyPassword := ProxyPassword;
End;
H.HTTPOptions := HTTPOption;
H.Request.UserAgent := RobotName + '
-Mozilla/3.0 (compatible; Indy Library)';
H.Request.Accept := '
text/plain, */*';
S := H.Get(rURL + '
robots.txt');
H.Request.Accept := '
text/html, */*';
GetText := H.Get(
URL);
Result := GetText <> '
';
Finally
H.Free;
End;
End;