gpt4 book ai didi

delphi - Indy 10 中的 TIdHTTP

转载 作者:行者123 更新时间:2023-12-03 18:15:30 28 4
gpt4 key购买 nike

我曾经在 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。 (虽然它应该工作)。

我应该提一下,我总是会弹出一个“连接已正常关闭”的窗口。这似乎是一个异常(exception),它可能会干扰函数的结果。我试图用 TRY...FINALLY 来捕获它,但它不起作用。我想可能是因为 Indy 在 Get 方法运行后在后台触发了异常。

最后,这里是程序运行的截屏视频,以消除任何混淆: http://screencast.com/t/NDMzNTQ5我希望 HTML 能够填充第二个备忘录框。

最佳答案

我想你有 TIdHTTP。 HandleRedirects 属性设置为 false,如果出现错误“HTTP/1.1 302 Found”,您可以试试这个

var
http_result:string;
Begin
IdHTTP1.HandleRedirects:=True;
http_result := IdHTTP1.Get('http://www.google.com');

End;

关于delphi - Indy 10 中的 TIdHTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1742900/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com