问题标签 [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 投票
1 回答
808 浏览

delphi - Indy 的 HandleRedirect 有什么作用?

我在使用 Indy 从安装了 WordPress 的站点读取文件时遇到了一些问题。

该站点似乎已配置为将所有点击重定向到站点名称/com/wordpress。

我可以使用 HandleRedirect 将其关闭,以便我可以从根文件夹中读取文件吗?

该属性的正常设置是什么?为此目的使用它有什么缺点吗?

(编辑:看来我的问题可能是由我之前通过 Indy 访问过的文件的 Windows 缓存引起的。我正在使用 fIDHTTP.Request.CacheControl := 'no-cache'; 这足够了吗?

0 投票
1 回答
2808 浏览

delphi - 使用带有 Indy 组件的 NTLM 身份验证连接到 Squid 服务器

是否有人使用 Indy (10.XX) 组件通过具有 NTLM 身份验证的 Squid 代理服务器设置成功连接到https位置?

我可以成功连接到 http 位置,但是使用 https Indy 返回 EAbort 错误。

此外,如果我使用 FreeProxy 作为代理服务器(使用 NTLM 身份验证),我也可以很好地访问 http/https。但是 Squid NTLM + https 不起作用?有人让这个工作吗?

谢谢雷尔

0 投票
2 回答
5562 浏览

delphi - 通过 TCP\IP 使用 Indy 发送二进制数据,如何?

如何使用 Indy 组件发送二进制数据?其中哪一个最适合这项任务?我试过使用TIdTcpClient,但它只允许发送字符串。

我在这里找到了解决该问题的方法,但我不明白。它说的是 method Write(TIdBytes),但答案对我来说并不清楚。他的意思是写到某个实例TIdBytes,以及如何将该实例与TIdTcpClient

谢谢你的帮助。

0 投票
2 回答
4737 浏览

delphi - 使用 Indy 组件下载、暂停和恢复下载

实际上我正在使用 TIdHTTP 组件从 Internet 下载文件。我想知道是否可以使用此组件或另一个 indy 组件暂停和恢复下载。

这是我当前的代码,这适用于下载文件(没有简历),但是 . 现在我想暂停下载关闭我的应用程序,当我的应用程序重新启动时,然后从保存的最后一个位置恢复下载。

0 投票
1 回答
7308 浏览

delphi - 使用错误代码 400 从 TIdHttp 获取响应

我一直在为StackApps API 编写一个 Delphi 库。

我遇到了 Indy 的问题。我使用的是 Delphi 2010 附带的版本。如果您将无效参数传递给 StackApps API 之一,它将返回 HTTP 错误代码 400,然后在响应中它将包含一个带有更多详细信息的 JSON 对象。

通过在 Chrome 浏览器中访问http://api.stackoverflow.com/0.8/stats/?Key=BadOnPurpose,您可以看到一个示例。IE 和 Firefox 隐藏 JSON。

使用 WireShark,我可以看到使用下面的代码返回了 JSON 对象,但我无法使用 Indy 访问它。

对于这个测试代码,我在表单上放置了一个 TIdHttp 组件,并将以下代码放在一个按钮单击中。

我通过了 [400] 以便它不会引发 400 异常。就好像 Indy 停止阅读响应一样。因为 Memo1 的内容是空的。

我正在寻找一种获取 JSON 详细信息的方法。

0 投票
1 回答
2296 浏览

delphi - 如何模拟拨号连接以进行测试?

我必须编写一个服务器应用程序,客户端打开一个 TCP/IP 套接字,发送一些数据并关闭连接。

数据包很小,小于 100 字节,但是有传言说让它们批量处理事务并发送多个数据包。

如何最好地模拟拨号连接(使用 Delphi 和 Indy 组件,仅供参考)?

是不是这么简单

  • 打开连接
  • 等一会儿(“一会儿”的定义是什么?)
  • 紧密连接
0 投票
2 回答
1663 浏览

delphi - 使用 Indy 代理时不要使用 IE 浏览器设置

在我们的一个客户站点,我们有一个 Delphi 2007 应用程序,它使用 indy 组件发出许多 HTTPS 请求。所有请求都是使用客户端提供的代理设置发出的。为此,在 IE 中,我们必须将 URL 放在受信任区域部分。一个月后,由于安全设置,受信任区域被清除。这意味着我们必须再次重新添加 URL 才能使我们的应用程序正常工作。

有没有办法绕过 IE 设置或使用客户端 HTTP 堆栈,这样我们就不会通过浏览器发出 https 请求?

京东

0 投票
2 回答
1808 浏览

delphi - tfilestream.seek 和偏移混淆

这是取自https://forums.embarcadero.com/message.jspa?messageID=219481的代码片段

我不明白究竟是什么偏移以及为什么 Max(0,Fs.Size-1024) 在它的占位符中,如果你去下面(在代码中)

'-1024'到底是什么......为什么总是使用1024 / -1024?并且 fs.size 会单独在偏移领跑者工作中(我正在尝试使用暂停恢复支持进行下载管理)并且在上面的代码中用 tmemmorystream 替换 tfilestream 会对程序产生任何影响吗?

如果重要:我使用 d2007 和 d2010

0 投票
5 回答
185 浏览

delphi - 从 2 层应用程序发送电子邮件通知的建议,客户端可能未连接到 Internet

我必须将电子邮件通知添加到客户端服务器应用程序。

当用户在客户端 UI 上执行某些特定操作时会发生通知。

如果我有一个中间层或在服务器上运行的服务,我可以想象如何做到这一点:

1)我只是创建一个带有“待处理通知”的数据库表

2)当用户执行生成通知的操作时,我将记录添加到表中

3)服务器端我会不断尝试发送这些邮件并在发送成功后将它们从表中删除

现在我现在不能这样做,我计划稍后添加服务,但现在我必须走快速而肮脏的方式。

所以不知何故,我想的是实现这样的事情:

1)当客户端发生通知价值事件时,同一个客户端(我的 exe)尝试发送通知,失败时会将通知记录在“待处理通知”表中(失败可能是因为缺乏互联网连接或任何其他问题)

2)我添加了一个计时器,它可以在任何客户端机器上工作,以检查待处理的通知。如果有任何客户端将尝试发送电子邮件(使用事务:我将一个字段标记为“TryngToSendFromClientX”,如果失败,我将该字段重置为 NULL)

我认为这种方法会起作用,它有明显的局限性(如果失败后没有人登录系统,则不会发送任何通知 - 如果服务“关闭”也是如此)。但是你能评论一下这种方法并提出更好的方法吗?

附加说明(为了更好地理解场景):

a) 注意:所有通知都是从同一个电子邮件帐户发送的。

b) 我不需要跟踪谁发送了电子邮件。

c)现在创建服务的问题是它基本上会使部署复杂化,我需要创建用于监控服务状态的工具。我将来会做的事情,但不是现在,将来我计划向服务添加更多功能(不仅仅是发送通知),所以在这种情况下创建它更有意义。

d) 我将使用 Indy 组件和 SMTP 服务器发送电子邮件。

0 投票
3 回答
1890 浏览

delphi - 我如何管理 Indy 中的连接?(德尔福)

我正在使用 indy 10(阻塞模式)编写一个简单的客户端/服务器聊天程序,并且有一个问题是如何管理连接?例如假设一个用户在服务器上在线,我们必须为将来的请求建立一个连接隧道。换句话说,当用户在线时,服务器不应该需要用户名和密码来处理未来的用户请求。这将与我们在用户到来时创建的隧道有关。

我们如何管理连接?

[对不起我的英语不好]如果你听不懂我请告诉我发一个新的帖子。

谢谢