Delphi 7 - 从网站获取值

时间:2012-10-08 06:23:47

标签: delphi

让我们看看偏航是否可以帮助我,

假设有一个链接:www.example.com/test.html

打开时,它会显示0或1。

我需要获取该值。即:

if internet.value := 0 then ShowMessage('False') else ShowMessage('True');

它可能是使用indy组件或winsockets,我该怎么做呢?

1 个答案:

答案 0 :(得分:3)

如果您正在谈论仅包含整数值的纯文本文件,则可以使用Indy来实现此目的,例如这条路。当页面下载成功并且页面包含整数值时,以下函数返回True,否则返回False。请注意,我是在浏览器中写的,因此未经测试:

uses
  IdHTTP;

function TryWebContentToInt(const AURL: string; out AValue: Integer): Boolean;
var
  S: string;
  IdHTTP: TIdHTTP;
begin
  IdHTTP := TIdHTTP.Create(nil);
  try
    IdHTTP.HandleRedirects := True;
    try
      S := IdHTTP.Get(AURL);
      Result := TryStrToInt(S, AValue);
    except
      Result := False;
    end;       
  finally
    IdHTTP.Free;
  end;
end;

用法:

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  if TryWebContentToInt('http://example.com/page.html', I) then
    ShowMessage('Value: ' + IntToStr(I))
  else
    ShowMessage('Page downloading failed or it doesn''t contain an integer value!');
end;