Indy 10 中的 TIdHTTP

2024-02-07

我以前在 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.我使用的编译器/os/Indy的组合总是有可能存在bug。 (尽管它应该有效)。

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

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


我认为你有 TIdHTTP。属性设置为 false,如果出现错误“HTTP/1.1 302 找到 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html“你可以试试这个

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

End;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Indy 10 中的 TIdHTTP 的相关文章

  • delphi定时器比定时器服务中断例程更快

    大家好 我被要求为某人维护一个基于 Delphi 5 的程序 该程序使用一个计时器对象每 50 毫秒计时一次 并且在每次计时结束时运行单线程代码块 我只是想知道 如果执行这段代码所花费的时间比计时器滴答间隔长 会发生什么 这会很糟糕吗 例如
  • 递归遍历树视图中的节点?

    我有一个树视图 其中已经填充了另一个过程中的文件 文件夹 我想按照从上到下的确切顺序逐项迭代树视图中的项目 但是 与普通列表不同 我不能仅使用简单的for对此的声明 我必须进入每个节点等 我该怎么做呢 我希望有一种方法可以在不运行递归过程的
  • 如何更新Delphi对象检查器?

    继我最近发布的这个问题之后 组件编辑器可以在多个组件上执行吗 https stackoverflow com questions 14802371 can a component editor be executed on multiple
  • Delphi 7,加载PNG到TImage

    只是想加载 PNG 尝试使用适用于其他格式的 OleGraphic 来使用我的 LoadPic 但在 PNG 上失败 目标是将图像复制到隐藏位图 然后将其屏蔽并复制到可见的工作图像画布 如果 CopyRect 不这样做 请随意提出其他建议
  • Delphi (Indy) TIdTCPClient 在线程中

    在互联网上 我看到通常将 TIdTCPClient 放置在自定义 TThread 后代中 为什么要这样做 有时我也在这样的线程中看到服务器 为什么 干杯 阿德里安 Indy 使用阻塞 I O 最好在线程中处理 这是 Indy 整体设计的核心
  • 如何以编程方式安排任务

    如何使用 delphi 7 像 Google updater 一样安排任务 我没有使用注册表 因为它被卡巴斯基防病毒软件检测为误报 我在注册表中作为启动项添加的任何内容都会被检测为特洛伊木马 因此我决定使用任务计划 下面的代码展示了如何删除
  • VCL.位图到 FMX.位图

    我在网上找到了这段代码 但 FMX Bitmap 没有扫描线 是否可以以某种方式将 VCL TBitmap 复制或绘制到 FMX Bitmap IFDEF MSWINDOWS type TBitmap FMX Types TBitmap T
  • 获取 TransactSql 批处理中的语句数计数

    对于不使用 Delphi 的读者 虽然以下内容是根据 Delphi 编码来表达的 但我的实际技术问题不是特定于 Delphi 的 而是关于如何找出 Sql Server 如何 理解 TransactSql 批处理提交给它 TAdoQuery
  • delphi 变量值在循环中的线程中发生变化

    我的代码正在运行一个 for 循环来处理一些数据 如下所示 procedure printValue Value Integer begin TThread Synchronize TThread Current procedure beg
  • 在运行时按需更改组件类

    我的问题与这里的想法类似 替换delphi中的组件类 https stackoverflow com q 4685863 937125 但我需要改变一个specific按需组件类 这是一些伪演示代码 unit Unit1 TForm1 cl
  • 开源 Delphi 包可使用哪些项目选项?

    我写了一些 Delphi 代码 想在 GitHub 上分享 所有代码都根据需要包含在运行时和设计时包中 每个项目有许多项目选项需要设置 输出目录 搜索路径 编译选项等 我设法找到了一些适合我的情况的默认选项 但阅读此处的其他问答很明显有多个
  • 带位图的简单组合框

    如何将位图放入组合框中并将样式设置为简单 例如 Google Chrome 的右侧有星号 Firefox 的右侧有箭头 我尝试了这段代码 procedure TForm2 ComboBox1DrawItem Control TWinCont
  • 我如何在Delphi中处理事件?

    例如 我有一个程序 在单击 Button1 后执行某些操作 如果没有 Button1Click 中的代码 如何处理按钮的 onclick 事件 我需要为 Button1 动态添加事件 unit Unit1 interface uses Wi
  • 如何在Delphi中下载一个非常简单的HTTPS页面?

    我尝试了在这里看到的代码 但它不适用于 HTTPS 我需要将此页面作为字符串下载 并在其上添加一些换行符 以便将信息按顺序放入 TMemo 中 怎么做 我尝试使用 Indy 但由于 SSL 问题而失败 我尝试了此页面的解决方案 如何将网页下
  • 如何在调试器中显示 TStringList 的内容?

    我想在调试应用程序时显示 TStringList 的全部内容 相反 我只是得到指示 Flist 仅显示地址 如果您使用的是 Delphi 2010 或更高版本 调试器允许使用调试可视化工具 http docwiki embarcadero
  • 每次 TDbGrid 的选定位置更改时都会触发什么事件?

    我的项目中有一个 TDbGrid 每次更改所选行时我都试图触发一个事件 行中的任何更改都已经更新了链接到同一数据源的所有数据感知控件 但还需要进行其他更改 我需要一个事件处理程序 我认为 OnColEnter 会起作用 根据帮助文件 它在以
  • 为什么 {$ifopt FINITEFLOAT ON} 无法编译?

    我有这样的构造 ifopt FINITEFLOAT ON message FINITEFLOAT option ON else message FINITEFLOAT option OFF endif 在我的源代码中 它不会编译 这一定是一
  • 将数据从一个数据集结构移动到另一个数据集结构的更快方法(在 TDatasetProvider 中)

    我有一个自定义的 TDatasetProvider 它允许为其提供的任何数据创建新字段 因此 假设您在原始数据集上获得了以下字段 客户ID Name Age 您需要使用显示位图在 DBGrid 上选择它 好吧 你可以 因为我的 DSP 可以
  • 如何从 VCL.Graphics 获取所有已注册的文件格式...但 64 位

    在我的 32 位应用程序中 我使用FindRegisteredPictureFileFormats 单元由 Cosmin Prund 提供 https stackoverflow com a 14677532 505088 gt 如何从图形
  • Mac 上的 Delphi - 可能吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我负责一个 Delphi Win32 项目管理应用程序 我刚刚完成了向 Delphi 2009 的迁移

随机推荐

  • 如何关闭 gcc 中的特定优化标志

    我想使用优化 O1 进行编译 但它打开了一个我不想使用的标志 我该如何关闭它 通常有一个等效的 否 标志 例如 fstrict aliasing可以通过以下方式关闭fno strict aliasing 检查 gcc 文档以获取更多标志
  • 嵌入式 cocos2d-js 应用程序可以回调 C++ 吗?

    我正在研究通过将 cocos2d js 作为视图嵌入现有 iOS 应用程序中来使用它的可能性 为了完成这项工作 我需要在 cocos2d 和周围的应用程序之间进行双向通信 经过一些初步调查 我确定可以致电in到 cocos 使用Script
  • C# 中的空参数检查

    在 C 中 是否有任何好的理由 除了更好的错误消息之外 向每个 null 不是有效值的函数添加参数 null 检查 显然 使用 s 的代码无论如何都会抛出异常 这样的检查会使代码变慢并且更难维护 void f SomeType s if s
  • BufferedReader.readLine() 不读取并挂起系统(等待)[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions BufferedReader rea
  • \n\r 是什么意思?

    当通过 java 从伪终端读取时 我在文本中看到 n r 那个代表是什么 注意它不是我熟悉的 r n n是换行符 ASCII 代码 10 r是回车符 ASCII 代码 13 不同的操作系统使用这些字符的不同组合来表示文本行的结尾 类Unix
  • Silverlight 4 程序集共享问题

    我有一个引用 Silverlight 4 类库的 WPF NET 4 0 类库 SL 库编译得很好 但是当我编译 WPF 类库时 我得到 Error 2 Unknown build error Cannot resolve dependen
  • 如何快速动态加载经常重新生成的c代码?

    我希望能够动态生成 C 代码并将其快速重新加载到我正在运行的 C 程序中 我在Linux上 这怎么办 Linux 上的库 so 文件可以在运行时重新编译和重新加载吗 是否可以在不生成 so 文件的情况下对其进行编译 编译后的输出是否可以以某
  • 循环访问多个正则表达式提取器输出

    您能告诉我如何循环遍历返回多个值的正则表达式后处理器的结果吗 Example JSON 响应消息 reply code 111 status SUCCESS customerID 222 a b 333 44 4 s 555 666 777
  • AssertionError IDEA 输出中的字符编码

    我正在使用 IntelliJ IDEA 12 0 4 进行一些测试 当我使用 JUnit4 框架运行一个时 我的断言错误如下所示 java lang AssertionError Status should be expected true
  • Apple 拒绝,因为 UIBackgroundModes = location

    我提交了一个应用程序 它按照用户选择的固定时间间隔 5 分钟 10 分钟 30 分钟 1 小时 跟踪用户的位置 并将其发送到服务器 该应用程序也应该在后台运行 发送请求 我已将其声明为UIBackgroundMode location 我能
  • 如何将复杂的 SQL 查询转换为 Zend_Db_Select 语句?

    MySQL 网站有一个优秀的教程 http mikehillyer com articles managing hierarchical data in mysql 在数据库中存储分层数据 我正在尝试编写返回节点的直接子节点的查询 我不想只
  • 如何在android上创建永久后台服务

    我正在经历一场噩梦 试图在 android 上创建一个永久运行的简单后台服务 该服务将执行一些后台任务 例如池用户社交媒体和显示通知 因此它只需要一次用户交互 登录 之后应该能够永远运行直到最后一天 但这并没有发生 这是我的清单
  • viewflow.io:实现队列任务

    我想用以下用例来实现ViewFlow库 http viewflow io Problem 由用户启动的特定 Flow 的进程必须在执行 celery 作业之前在队列中等待 每个用户都有一个这些进程的队列 根据计划或手动触发 允许队列中的下一
  • 如何以编程方式在视图上同时应用平移和缩放动画

    如何在视图上应用带有缩放动画的平移动画 我必须将视图移动到另一个视图位置并同时缩小 如何将视图从其位置缩放到另一个视图位置 第二个视图不固定 startView 翻译的视图 finishView 动画结束的地方 代码 private voi
  • Python:什么是标题? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我对 Python 和一般编程都很陌生 我在大学修读一个模块 要求我用 Python 编写一些相当基本的程序 然而 我在上次作业中得到了这样
  • 将 musicbrainz URI 映射到 Spotify URI

    有谁知道如何找到给定艺术家 专辑的 musicbrainz URI 的 Spotify URI Spotify 的 web api 不能解决我的问题 因为我想映射所有 musicbrainz 艺术家和专辑 但速度很慢 您应该能够使用 Ech
  • Android Studio 3.1:找不到 org.jetbrains.trove4j:trove4j:20160824

    昨天 我将 Android Studio 更新到 3 1 但收到此错误 Could not find org jetbrains trove4j trove4j 20160824 Searched in the following loca
  • Blobstore 上传 + Ajax/替代方案

    下面的代码可以完美运行 我唯一关心的是我想将下面的内容转换为 AJAX alternative 这样就不需要刷新整个页面来提交此请求 如果可能的话 还包括加载进度条等
  • 在节点中使用 zone.js 挂钩

    我正在尝试使用编写一个简单的演示角度 zone js https github com angular zone js在节点中 但由于某种原因既没有beforeTask or afterTask正在被召唤 这是我正在运行的代码 requir
  • Indy 10 中的 TIdHTTP

    我以前在 Delphi 6 天时就使用过 Indy 现在我正在使用 Indy 10 我想做的事情非常简单 但我没有看到简单的方法 所以我一定错过了一些东西 我想做的是这样的 这是我正在使用的实际代码 procedure TForm1 btn