让我们看看偏航是否可以帮助我,
假设有一个链接:www.example.com/test.html
打开时,它会显示0或1。
我需要获取该值。即:
if internet.value := 0 then ShowMessage('False') else ShowMessage('True');
它可能是使用indy组件或winsockets,我该怎么做呢?
答案 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;