Delphi,使用idhttp自动提交按钮

时间:2013-04-07 18:23:54

标签: delphi indy idhttp

假设我有像mozilla和iexplorer这样的互联网浏览器,那么,我使用了mozilla,我已经使用登录的帐户用户名和密码登录到网站,idhttp可以发布(提交表单,自动点击)到已打开帐户(无需打开网络浏览器)?或者我将不得不再次使用我的用户名和密码来发布提交?

我不需要代码,只需要回答是或否,如果不是!我应该在我的批准中使用INDY中的哪些控件? 示例:我想自动点击提交按钮(我的帐户已登录)!

感谢

3 个答案:

答案 0 :(得分:1)

我怀疑身份验证是浏览器的本地身份验证,即通过浏览器特定的Cookie验证。

从Delphi代码中,您需要检索cookie(可能是from a SQLite3 file with FireFox,或者用IE浏览器中的纯文本),然后使用Indy查询网站,包括请求标头中的cookie内容。

但它在很大程度上取决于身份验证的完成方式。例如,它使用HTTP或HTTPS协议吗?如何实现服务器端?

答案 1 :(得分:1)

您的问题没有简单的是/否答案。这取决于网站/服务器如何处理身份验证。

默认情况下,http为 STATELESS :每次进入服务器的呼叫都不知道上次呼叫。在这种情况下,您必须对您点击服务器的每个时间进行身份验证。

但是大多数现代网站都实现了某种身份验证持久性:通过在服务器上维护用户会话信息,或者如Arnaud Bouchez所提到的,发回一个跟踪您的身份验证的cookie。

我曾经编写了一个自定义Web应用程序,它使用第一个响应发送回加密的身份验证令牌,并且它是客户端(它是一个自定义Windows客户端,其中嵌入式套接字使用idhttp实现,而不是浏览器客户端)负责发送为每个后续请求提供该令牌。

所以,你的答案是:让服务器处理它 - 你通常没有太多选择。

答案 2 :(得分:1)

如何创建自定义浏览器,并在登录网站后自动提交功能? 我曾经使用TChromium和TBrowser制作了一个带有自动表单提交功能的自定义浏览器。
这很简单。你只需要知道如何使用javascript控制dom并操纵页面源 对不起,答案很简单