我曾经在 Delphi 6 天使用 Indy,现在我正在使用 Indy 10。我想做的事情非常简单,但我没有看到一种简单的方法,所以我一定错过了一些东西。
我想做的是这样的:
这是我正在使用的实际代码:
procedure TForm1.btnGetURLClick(Sender: TObject);
begin
moHeader.Lines.Clear;
moBody.Lines.Clear;
try
moBody.text := IdHttp1.Get(edURL.text);
finally
end;
end;
请求完成后,http_result 应该包含来自指定 URL 的 HTML。然而这似乎不起作用,所以我觉得我可能应该使用组件的 IOHandler 属性或 OnWork 事件 - 但是对我来说用法似乎并不明显,而且我找不到任何工作示例与谷歌。我相信这是以前做过的事情,所以任何帮助都将不胜感激。
附加信息:本着更具体的精神,我想知道: 1. 我是否一开始就这样做了(或者我错过了什么?)。2. 如果是这样,为什么它不起作用。3. 我使用的compiler/os/Indy组合总是有可能存在bug。(虽然它应该工作)。
我应该提一下,我总是会弹出“连接正常关闭”。这似乎是一个例外,它可能会干扰函数的结果。我试图用 TRY...FINALLY 来捕捉它,但它不起作用。我想可能是因为 Indy 在 Get 方法运行后在后台触发了异常。
最后,这里是运行程序的截屏视频,以消除任何混淆: http://screencast.com/t/NDMzNTQ5 我希望 HTML 能够填充第二个备忘录框。