首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在TIDHttp (indy) delphi上执行javascript函数?

在TIDHttp (indy) Delphi上执行JavaScript函数,可以通过以下步骤实现:

  1. 首先,确保你已经安装了Delphi的Indy组件库,并在项目中正确引用了该库。
  2. 创建一个TIdHTTP组件的实例,用于发送HTTP请求和接收响应。
  3. 使用TIdHTTP组件的Get或Post方法发送HTTP请求到包含JavaScript函数的远程服务器。例如,可以使用Get方法发送GET请求,将JavaScript函数作为查询参数附加到URL中。
  4. 接收服务器的响应,可以使用TIdHTTP组件的ResponseText属性获取响应内容。
  5. 解析响应内容,提取JavaScript函数的执行结果。可以使用正则表达式或其他解析方法来提取所需的结果。
  6. 执行JavaScript函数,可以使用Delphi内置的TWebBrowser组件。将响应内容加载到TWebBrowser组件中,然后使用TWebBrowser组件的Document属性来执行JavaScript函数。

以下是一个示例代码,演示了如何在TIDHttp (indy) Delphi上执行JavaScript函数:

代码语言:delphi
复制
uses
  IdHTTP, MSHTML;

function ExecuteJavaScript(const AURL: string; const AJavaScript: string): string;
var
  IdHTTP: TIdHTTP;
  HTMLDoc: IHTMLDocument2;
begin
  IdHTTP := TIdHTTP.Create(nil);
  try
    // 发送HTTP请求并获取响应
    Result := IdHTTP.Get(AURL);

    // 创建HTML文档对象
    HTMLDoc := CoHTMLDocument.Create as IHTMLDocument2;
    HTMLDoc.designMode := 'on';

    // 将响应内容加载到HTML文档
    HTMLDoc.write(Result);
    HTMLDoc.close;

    // 执行JavaScript函数
    HTMLDoc.parentWindow.execScript(AJavaScript, 'JavaScript');

    // 获取执行结果
    Result := HTMLDoc.documentElement.innerHTML;
  finally
    IdHTTP.Free;
  end;
end;

使用上述代码,你可以调用ExecuteJavaScript函数来执行JavaScript函数。传递远程服务器URL和JavaScript函数作为参数,函数将返回执行结果。

请注意,这只是一个简单的示例,实际情况可能会更复杂。具体的实现取决于你要执行的JavaScript函数和服务器的响应格式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

博客目录及索引,欢迎指导交流

java开发相关 Tomcat shutdown执行后无法退出进程问题排查及解决 记一次tomcat线程创建异常调优:unable to create new native thread VisualVM...Apache Ignite Apache Ignite之集群应用测试 Ignite性能测试以及对redis的对比 Apache Ignite高性能分布式网格框架-初探 openfire 在Openfire弄一个简单的推送系统...相关 技术笔记:Indy IdSMTP支持腾讯QQ邮箱邮件发送 技术笔记:Indy的TIdSMTP改造,解决发送Html和主题截断问题 技术笔记:Delphi多线程应用读写锁 技术笔记:Indy控件发送邮件...学习笔记:7z在delphi的应用 学习笔记 :DrawText 学习笔记:delphi之TStringGrid 学习笔记: Delphi之线程类TThread 学习笔记:delphi多线程知识 WEB...开发相关 Http状态码之:301、302重定向 学点HTTP知识 学习笔记:URL Protocol在浏览器中打开本地应用程序 学习笔记:发现一个IE版本判断的好方法 使用js在网页记录鼠标划圈的小程序

1.7K90
  • directui

    即子窗口不以窗口句柄的形式创建(windowless),只是逻辑的窗口,绘制在父窗口之上。...国外微软,国内腾讯,百度等公司的客户端产品多采用这种方式来组织界面,从而很好的将界面和逻辑分离,同时易于实现各种超炫的界面效果如换色,换肤,透明等。...2.1 DirectUI 主要特性    ◆ 支持皮肤对象的布局    ◆ 支持皮肤脚本(JavaScript)控制,可以让界面与逻辑彻底分离    ◆ 支持bmp、png、jpg、gif、tga等图片格式...Skin++换肤的大致流程   1、应用程序启动,加载Skin++库;    2、执行Skin++加载皮肤文件API函数;    3、Skin++ 安装窗口过程等类型Hook,准备截获应用程序所有窗口的创建事件...控件执行其默认的窗口消息处理函数;    11、应用程序退出,Skin++库被卸载,在卸载之前Skin++获得通知,Skin++便在内部执行Hook的反初始化与资源文件的清理。

    2.2K60

    服务器反爬虫攻略:ApacheNginxPHP禁止某些User Agent抓取网站

    我们都知道网络的爬虫非常多,有对网站收录有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守 robots 规则对服务器造成压力,还不能为网站带来流量的无用爬虫,比如宜搜蜘蛛(YisouSpider...最近张戈发现 nginx 日志中出现了好多宜搜等垃圾的抓取记录,于是整理收集了网络各种禁止垃圾蜘蛛爬站的方法,在给自己网做设置的同时,也给各位站长提供参考。...GET|HEAD|POST)$) {     return 403; } 然后,在网站相关配置中的  location / {  之后插入如下代码: include agent_deny.conf; 张戈博客的配置...sitemap_baidu_sp.xml$ /sitemap_baidu_sp.php last;         rewrite ^/sitemap_m.xml$ /sitemap_m.php last; 保存后,执行如下命令...五、附录:UA 收集 下面是网络常见的垃圾 UA 列表,仅供参考,同时也欢迎你来补充。

    2.4K50

    对vc++类和对象的逆向研究

    经过反编译动态调试,vcpp的类实际就是struct,跟delphi不同,它没有类头,而且所有的函数都直接放在函数表里头,跟普通的函数一样混在一起。...:如果有1个int成员变量,则sizeof(class)=4;如果有2个int成员变量,则sizeof(class)=8; 如果没有,则sizeof(class)=1; 对象指针默认通过ecx传递,而delphi...目标结论如下: 所以想要设计一个兼容delphi对象的c文件,让cpp当作一个类使用,是不合适的,因为它不是通过对象指针的偏移来调用成员函数的,而是直接跳转到了静态函数表。...但是用struct调用函数指针还是可以的,这样其实就没必要使用cpp的类了,直接用c就可以了,而且函数指针更加灵活,方便定义和响应事件,以及多态,有着无与伦比的灵活优势,为什么我喜欢javascript...呢,因为指针函数发挥的淋漓尽致。

    50520

    Linux基金会超级记账本开发框架和工具

    Linux基金会的Hyperledger超级记账本是一个开源合作的跨行业的区块链技术,包括金融,银行,物联网,工厂,科技等行业的领军者IBM, Intel, Huawei, Baidu, Tencent...1.3 Hyperledger Indy 状态 Github Star 开发语言 活跃度 文档 孵化中 252 Python 较高 一般 ?...Indy是分布式记账本,应该是Sovrin基金会捐献,旨在提供去中心化的身份凭证服务,使用区块链技术加密和交换身份凭证,保障安全。...(3) 并行执行交易,Sawtooth有个调度器把交易分割为并行的流程,隔离开每个交易的执行。...孵化中,链码开发基础提到过的另外一种开发模式,IBM主导,推荐Mac和Ubuntu运行,类似solidity, 用javascript语法,定义资源,参与者,交易,把链码逻辑可暴露为REST服务, Fabric

    1.3K10

    5 种前途迷茫的编程语言

    但是为了适应时代的变化,我们最好还是将Perl语言“弃之敝履”。 Ruby 关于Ruby,可以这么唱“十年之后,我不认识你你不属于我……”。因为就在10年前,Ruby语言可谓是风靡一时。...ActionScript是JavaScript(当前最流行的编程语言之一,因为它能用于所有的浏览器)的一个近亲。...(我曾经看到过一个Flash开发人员指责另一个JavaScript开发人员毁了他的职业生涯。)...记得有一段时间,得益于Twitter平台——TweetDeck(要求用户在电脑安装AIR运行时)的使用,AIR很是红火了一阵子。...事实,我们可以使用Delphi建立许多不同的平台,包括iOS、Android,以及即将到来的Linux操作系统。

    1.1K20

    反爬虫攻略:ApacheNginxPHP禁止某些User Agent抓取网站

    我们都知道网络的爬虫非常多,有对网站收录有益的,比如百度蜘蛛(Baiduspider),也有不但不遵守robots规则对服务器造成压力,还不能为网站带来流量的无用爬虫,比如宜搜蜘蛛(YisouSpider...最近张戈发现nginx日志中出现了好多宜搜等垃圾的抓取记录,于是整理收集了网络各种禁止垃圾蜘蛛爬站的方法,在给自己网做设置的同时,也给各位站长提供参考。...^(GET|HEAD|POST)$) { return 403; } 然后,在网站相关配置中的 location / { 之后插入如下代码: include agent_deny.conf; 张戈博客的配置...sitemap_baidu_sp.xml$ /sitemap_baidu_sp.php last; rewrite ^/sitemap_m.xml$ /sitemap_m.php last; 保存后,执行如下命令...五、附录:UA收集 下面是网络常见的垃圾UA列表,仅供参考,同时也欢迎你来补充。

    1.9K10

    编程知识科普--解释性语言和编译型语言的区别和不同

    例如Delphi,C++,ASM,C是直接变异成exe文件并且自带条件编译功能。...一些网页脚本,服务器脚本以及辅助开发接口这样的对速度要求不高,对不同系统的兼容性有一定要求的程序则通常使用解释性语言,Java、JavaScript、VBScript、Perl、Python、Ruby...编译语言由于程序执行速度快,同等条件下对系统的要求比较低,因此像开发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++,Pascal/Object Pascal(Delphi)等都是编译型语言...比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统,则程序不用改动就可以在移植了解释器系统运行。...缺点:代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统运行。 ?

    1.5K10

    那些年,我追过的语言

    但VB功能太弱(其实还是我水平太差),MFC太乱,以至于大二时,我在给人打工做软件的时候无奈地选择了Delphi。 虽然不怎么喜欢严谨的pascal,但Delphi有让我不得不用的理由。...C#很迷人,一下子让我有种想要扔掉delphi的赶脚,但无奈dotnet framework太大(而且相对较慢,当时),还在使用赛扬的客户无法接受。...还玩函数式编程,underscore.js。 总之到我创业时,javascript的生态圈已经无比繁荣。...然后javascript在V8的基础开启了nodejs时代,nodejs让javascript登堂入室,成为后端的一股劲旅。 从此前端工程师开始屌丝逆袭,成了香饽饽。...首先,它的编译速度比宣称的慢不少,执行速度更是比C差了不少,很多场景下(尤其GC相关),要比JVM下的语言(scala)差。

    2K50

    从 12 岁开始,他用 25 年时间掌握了 30 门编程语言……

    跟很多同龄人一样,我花了很多时间让我写的 JavaScript 代码在 Internet Explorer 4 和 Netscape Navigator 4 运行。...当我开始编程时,一切都是全新和未知的,掌握至少一门编程语言( Visual Basic)会让我感到些许安慰。...学会 C 语言后,我很快就学会了大量编程语言,包括 Flash 的 ActionScript、Mac 的 AppleScript 以及一些 Delphi(当时我需要维护一个 Delphi 项目)。...我学过我非常喜欢的 MySQL、微软的 T-SQL 和 PL/SQL,还曾在 MySQL、MSSQL、Oracle 和大量其他数据库管理系统为存储过程、函数、触发器和视图编写了数千行代码。...编程应该是一件有趣的事情,如果你觉得它不好玩,那就换个方式来学,可以尝试不同的领域(系统应用而非网络应用)或不同的问题来解决挑战(技术挑战而非算法挑战)。

    28610

    443视频看完编程语言排行榜15年沉浮:Python这样上位

    在不同的时代,这个问题也有着不同的答案,而一部编程语言的使用人数变迁史,实际也是一部计算机世界的成长编年史。...“真正的程序员用C++,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。...Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点,和VC相比,Delphi更简单、更易于掌握,而且在功能上丝毫不逊色;和VB相比,Delphi则功能更强大、更实用,可以说Delphi同时兼备了...12年到14年,“云计算”这个词出现在大批创业公司和巨头的耳中,大家都在做IAAS,很多著名的云计算开源平台都是基于Python开发的(OpenStack),催生出不少的Python岗位,Python...Python在很多领域都能扎根,:Web开发、金融、运维、机器学习、AI等,从来没有一个语言能涉及如此多的领域,其他因素包括: 世界科技巨头喜欢它,谷歌、Youtube、Facebook、IBM、NASA

    1.6K82

    阿里安全开源隐私计算新技术:计算速度快20倍,通信成本低2倍,已登安全顶会

    博雯 发自 凹非寺 量子位 | 公众号 QbitAI 如何在不查看图片的前提下,几秒之内就识别一张图片? 这个看似在找茬的问题,却是隐私计算领域会真实碰到的问题。...著名的“百万富翁问题”所描述的就是这样的场景:两位富翁如何在不知道对方财富的前提下,比较谁的财富更多?...这也是我国团队首次在USENIX Sec22发表安全多方计算(MPC)方向的论文,相关代码目前已开源。 如何减少开销?...比如,DELPHI和CrypTFlow2就会利用同态加密(HE)来评估DNN的线性函数,而猎豹就是这样一种混合系统。...) 设计了几个用于非线性函数ReLU和Truncation)的更加精简,通信效率更高的基元 开发者将新的线性协议与先进技术进行比较,所有的运行都是用单线程执行,结果是计算速度最高快了20倍,通信成本最低低到

    79240

    JavaScript是解释型语言--V8、JIT

    直接和计算机硬件打交道,开发效率低,学习成本高; C语言是面向过程的编程语言,已经脱离了计算机硬件,可以设计中等规模的程序了; Java、C++、Python、C#、PHP 等是面向对象的编程语言,它们在面向过程的基础又增加了很多概念...编译型语言 程序在执行之前需要一个专门的编译过程,把程序编译为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。C、C++、Delphi等。...解释型语言 程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。 Python、Shell、JavaScript 等。...Bytecode;同时收集 TurboFan 优化编译所需的信息,比如函数参数的类型; TurboFan:编译器,利用Ignitio所收集的类型信息,将Bytecode转换为优化的汇编代码(计算机可识别...在 V8 出现之前,所有的 JavaScript 虚拟机所采用的都是解释执行的方式,这是 JavaScript 执行速度过慢的主要原因之一。

    1.1K30

    4分钟看尽Top编程语言15年沉浮:C#默Java泪,Python终上位!

    在不同的时代,这个问题也有着不同的答案,而一部编程语言的使用人数变迁史,实际也是一部计算机世界的成长编年史。...Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点,和VC相比,Delphi更简单、更易于掌握,而且在功能上丝毫不逊色;和VB相比,Delphi则功能更强大、更实用,可以说Delphi同时兼备了...2007.04-2007.05:Javascript 与C/C++持续叫板 2007年4月到2007年五月,Javascript一直在与C/C++叫板,不过最后还是Javascript稳居第三,Javascript...12年到14年,“云计算”这个词出现在大批创业公司和巨头的耳中,大家都在做IAAS,很多著名的云计算开源平台都是基于Python开发的(OpenStack),催生出不少的Python岗位,Python...Python在很多领域都能扎根,:Web开发、金融、运维、机器学习、AI等,从来没有一个语言能涉及如此多的领域,其他因素包括: 世界科技巨头喜欢它,谷歌、Youtube、Facebook、IBM、NASA

    1.3K20
    领券