问题标签 [indy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1799 浏览

delphi - WinInet 帖子的简单包装函数(在 Delphi 中)

这是一种在一行中或多或少地使用 Indy 进行 HTTP 发布的方法:

是否有一个函数(函数,而不是库)允许使用 WinInet 完成等效操作?

最好是一个类似这样的函数:

如果已经存在,我不想重新发明轮子并编写自己的包装函数。

谢谢!

0 投票
2 回答
737 浏览

delphi - 如何在 Delphi 中为伪浏览器启用 cookie?

我正在测试 Marco Cantu 的 Delphi 2009 手册中的一个应用程序。这个名为 AnonAjax(第 200 页)的应用程序具有一些有趣的功能,可以识别网页中的某些元素并列出它们。此应用程序使用匿名方法和用于访问给定 URL 的内部 Indy HTTP 客户端组件。作为此应用程序功能的一部分,它会加载列出的第一张图片。这很好,但是对于使用 cookie 的网页,它无法正确加载图像。我试过AllowCookies=true但它不起作用。如何为此应用启用 cookie?

0 投票
4 回答
1899 浏览

delphi - 如何使用 Indy 的 IdTrivialFTP 发送 TMemoryStream?

我正在使用它附带的 Delphi 2010 和 Indy 10。MemStream 是一个 TMemoryStream,它包含从网站下载的文件。

每当我运行此代码时,我都会收到错误消息:

项目 TestProject.exe 引发异常类 ERangeError,并带有消息“范围检查错误”。

我一直在做很多谷歌搜索来理解这个错误,但我目前不知所措。我也只看到了一个如何使用 Indy 组件执行 TFTP PUT 的示例。

有任何想法吗?

更新: 如果我稍微追踪一下错误,我发现错误是从第 272 行的“IdTrivialFTP.pas”中抛出的:

为清楚起见,以下是该代码的上下文:

0 投票
1 回答
635 浏览

delphi - 将 Indy9 升级到 Indy10

我想使用 Delphi 2007 将我的应用程序从 Indy 9 升级到 10。这有很多问题,我已经阅读了有关更改的 indy 文档,但我仍然需要建议。这不会编译,因为未找到 ReadString。

其中 FTCPClient 的类型为 TIdTCPClient。vCmdHead 是一个包含命令字符串的结构。我可以改用什么方法?

0 投票
2 回答
2709 浏览

delphi - Indy10 中的 DecodeToStream

我想使用 Delphi 2007 将我的应用程序从 Indy 9 升级到 10。现在由于找不到 DecodeToStream,因此不再编译。该代码使用 Bold 框架,因为有对 BoldElement 的引用。

有什么替代方法可以调用吗?

更新(我认为我过于简化前面的例子)

原始代码:

在我改变之后:

但我对自己的所有变化都没有信心,因为我对 Indy 不太了解。所以欢迎大家发表意见。我不明白的一件事是对 CreateBlobStream 的调用。我应该与 FastMM 核对,所以它不是 memleak。

0 投票
1 回答
974 浏览

delphi - 有人知道 TIdHTTP 的缓存组件吗?

我正在寻找用于检查特定资源的 Indy IdHTTP 组件的缓存实现,在执行实际 GET 并返回缓存的资源之前(如果合适)?

如果组件是 TIdHTTP 的派生类并自动处理缓存功能,这对我来说是最简单的方法,所以我可以用新组件替换现有的 IdHTTP 对象。

有人见过D2010这样的组件吗?

0 投票
1 回答
1861 浏览

delphi - 将 Indy9 升级到 Indy10

我想使用 Delphi 2007 将我的应用程序从 Indy 9 升级到 10。在这个线程中有一个对 Indy9 TIdUDPBase.SendBuffer 的调用,但这不会在 Indy10 中编译,因为方法参数不存在。第三个参数 aBuffer 是一个 var 参数,我在 Indy10 中没有找到任何这样的方法签名。有什么替代方法可以调用吗?

编辑: vTimeData 基本上是一个整数数组。

0 投票
3 回答
2754 浏览

delphi - TIdCmdTCPServer 和 TIdCmdTCPClient 应该一起使用吗?

我正在尝试编写一个服务器和一组与服务器通信的客户端。服务器将维护不同客户端的状态,并允许它们在状态发生变化时向中央服务器发出警报。专家客户端将允许控制其他连接的客户端。

我将服务器作为 TIdCmdTCPServer,客户端(目前)使用 TIdTCPClient 连接。

如果客户端正在发送和接收命令,他们应该使用 TIdCmdTCPClient 吗?我读过 CmdTCPServer 和 CmdTCPClient 并没有真正一起使用 - 是不是它们不必一起使用?

因此,对于这个问题的普遍含糊性深表歉意,但我才真正开始研究这个问题,在我陷入细节之前需要一些头脑。

谢谢你的帮助

马克 H

0 投票
1 回答
371 浏览

delphi - 在 Delphi 2006 上使用 IdSMTPServer 拒绝超过一定大小的 SMTP 消息

我正在使用 Delphi 2006 和 TIdSMTPServer 组件(版本 10.1.5)来设置 SMTP 服务器。这很好用,但我不想接受超过一定大小的消息。

有没有办法在服务器接收到它之前询问传入消息的大小并拒绝它?

0 投票
1 回答
1805 浏览

delphi - 为什么这个检查代理有效性的代码会崩溃?

我的程序中有以下代码。当我尝试检查代理是否是有效代理时,它会使我的程序崩溃。任何想法如何解决这一问题?我正在使用印地 10。

如果我在请求 checkproxy 后尝试调用另一个 idHTTP 连接,它会使程序崩溃。

这是实际的代码....返回错误...

except on E: EIdException do begin result:=false; end; On E:exception do begin //showmessage('External error:' + #13#10 + E.Message); showmessage('Proxy Settings Error'); result:=false; end; end; antifreeze.Active := false; freeandnil(httpcon); freeandnil(antifreeze); //freeandnil(sstream); end;

错误消息:模块 key.exe 中的异常 AccessViolation 在 E001B844A。模块“key.exe”中地址 005B844A 的访问冲突。读取地址 00000000。