Я пытаюсь получить доступ к файлу update.txt на моем веб-сайте, используя скомпилированную программу DelphiXE и компонент IdHTTP.
Код, который я использую, выглядит следующим образом:
procedure TFormAbout.SpeedButtonUpdateClick(Sender: TObject);
function CheckUpdates: String;
var lIdHttp: TIdHTTP;
begin
lIdHttp := TIdHTTP.Create(nil);
result := lIdHttp.Get('http://www.test.com/test_down_load/update.txt');
end;
var
sWebVersion: String;
sVersionList: TStringList;
begin
try
sWebVersion := Checkupdates;
except
on E: Exception do
begin
ShowMEssage(E.ErrorMessage);
MessageDlg('An Error occured checking for an update.',mtError,[mbOK],0);
end;
end;
if sWebVersion <> '' then
begin
sVersionList.CommaText := sWebVersion;
ShowMessage('Version: ' + sVersionList[0] + ' - ' + 'Date: ' + sVersionList[1]);
end;
end;
Однако это приводит к ошибке: HTTP1.1 / 403 Forbidden
Компонент IdHTTP был настроен со следующими свойствами.
HandleRedirects := true;
HTTPOptions [hoForceEncodeParams];
ProtocolVersion := pv1_1;
Request.UserAgent := Mozilla/5.0 (compatible; Test)
Если я ввожу URL-адрес в браузере IE, он возвращает файл без ошибок, но при доступе из моей программы я получаю сообщение об ошибке.
Любые указатели будут оценены.
.htaccess подходит для сайта.
Разрешения для файла правильные на сайте: 0644.
Нужно ли устанавливать какие-либо другие свойства для компонента IdHTTP. У меня есть только этот компонент о форме. Нужно ли что-нибудь еще.
Файл updateinfo.txt просто содержит текст в кавычках:
"18.3.5,2011 / 12/17"
Я просто использовал здесь «test» вместо моего фактического названия программы и URL.
С уважением
Адриан