Я пытаюсь получить доступ к файлу update.txt на своем веб-сайте, используя скомпилированную программу DelphiXE и компонент IdHTTP.IdHTTP.get return HTTP1.1/403 Forbidden
код я использую следующим образом:
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»
я просто использовал «тест» здесь на месте моего фактического имени программы и URL.
С уважением Адриан
Вы используете HTTPS? – TLama
Нет, я не использую HTTPS. –