我正在尝试使用 DelphiXE 编译程序和 IdHTTP 组件访问我网站上的 update.txt 文件。
我正在使用的代码如下:
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)
如果我在 IE 浏览器中输入 URL,它会返回没有错误的文件,但是从我的程序访问时,我会收到错误消息。任何指针将不胜感激。.htaccess 对于该站点是正确的。该文件的权限在网站上是正确的:0644。
我是否必须为 IdHTTP 组件设置任何其他属性。我在 about 表单上只有这个组件。我还需要什么吗。
updateinfo.txt 文件只包含引号中的文本:“18.3.5,2011/12/17”
我在这里简单地使用了“测试”来代替我的实际程序名称和 URL。
问候阿德里安