当前位置: 首页 > 面试题库 >

Apache HttpClient 4和JavaScript

章涵蓄
2023-03-14
问题内容

我使用Apache
HttpClient访问网页。我想单击链接,但是链接是javaScript,我如何处理对javascript链接的点击并遵循url重定向?

示例javascript和html代码

<a href="javascript:send(32023, 'YGHN_JKM', '8LMK');"> link</a>


function send(content_id, fic, cgRate) {
        var params = new Hash();
        params.set('content_id', content_id);
        params.set('tool', fic);
        params.set('cgRate', cgRate);

        new Ajax.Updater('return', '/mypkg/tools', {
            method: 'post',
            parameters: params,
            evalScripts: true,
            onInitialize: new Effect.Appear('loader', {duration: 0.0}),
            onComplete: new Effect.Fade('loader', {duration: 1.2})
        });
}

问题答案:
您似乎要尝试使用AJAX来获取链接的页面。仅使用普通的HTTPClient很难模仿这种行为。HTTPClient用于“原始”
HTTP通信,而不用于浏览器仿真。相反,我建议使用类似于HtmlUnit的东西,它可以模拟浏览器并执行页面上的JavaScript: http
//htmlunit.sourceforge.net/
HtmlUnit具有相当好的JavaScript支持,但并不完美。如果您需要100%完美的浏览器仿真,则需要使用诸如Selenium之类的浏览器自动化框架: http
//seleniumhq.org/


 类似资料:
  • 我试图理解为什么下面两个代码块会产生不同的结果。 代码块1按预期工作,并返回从数据库中查找的提供程序的数组。另一方面,代码块2返回函数数组。在理解promissione.all()和async/await时,我觉得缺少了一些简单的东西。 代码块的差异如下: > 块1:创建许诺函数数组,然后使用map运算符将其包装在异步函数中。 块2:许诺函数的数组被创建为异步函数。因此,不调用map运算符。 如果

  • 本文向大家介绍javascript中if和switch,==和===详解,包括了javascript中if和switch,==和===详解的使用技巧和注意事项,需要的朋友参考一下 今天改插件BoxScroll的时候,因为if里面的条件判断多于两个,于是立马想着改写switch。改到一半,忽然记起来JSHint等代码质量检测工具中的一个要求,用===替换==,不用不可靠的强制转型。然后忽然猜想,改成

  • 问题内容: 我对R相当精通,但是对javaScript和其他语言一无所知。我想访问有关此公开可用数据集的信息(http://fyed.elections.on.ca/fyed/zh- CN/form_page_en.jsp )。尤其是,我在数据框中列出了几千个(A1A1A1)形式的邮政编码。我想将这些邮政编码中的每一个都提交到此网站,然后提取返回的选举区的名称。RSelenium似乎很理想,但是我

  • Gulp 允许你使用现有 JavaScript 知识来书写 gulpfile 文件,或者利用你所掌握的 gulpfile 经验来书写普通的 JavaScript 代码。虽然gulp 提供了一些实用工具来简化文件系统和命令行的操作,但是你所编写的其他代码都是纯 JavaScript 代码。 Gulpfile 详解 gulpfile 是项目目录下名为 gulpfile.js (或者首字母大写 Gulp

  • 问题内容: 我想知道and 与 和之间的区别到底是什么? 通过此链接,我可以收集到有关内容,可以编写以获取具有class的元素和获取具有ID的元素。但我已经可以做到这一点和。应该首选哪一个? 我也在XPages中工作,其中的ID是用冒号动态生成的,如下所示。所以当我写的时候它是行不通的。但是写作品。有什么想法吗? 问题答案: 我想知道querySelector和querySelectorAll与g

  • 问题内容: 有没有办法在JavaScript中进行多线程处理? 问题答案: 在JavaScript中执行多线程和异步的不同方法 在HTML5之前,JavaScript仅允许每页执行一个线程。 有以模拟与异步执行一些哈克的方式产率,,,或事件处理程序(看到此信息的用于与例如端部收率和)。 但是,借助HTML5,我们现在可以使用工作线程来并行执行功能。这是一个使用示例。 真正的多线程 多线程:Java

  • 问题内容: 我正在使用C#HttpWebRequest来获取网页的一些数据。问题是在页面加载后,使用javascript / ajax更新了某些数据,但我没有在响应字符串中获取它。有没有办法让webrequest等待页面中的所有脚本执行完毕? 谢谢 阿米特 问题答案: 如果我正确解释了您的问题,那么您的问题就没有简单的解决方案。 您正在从服务器上抓取HTML,并且由于C#代码不是真正的Web浏览器

  • 问题内容: 我在有角度的应用程序中有一个twitter引导轮播。如果我这样使用data-slide属性: 然后将in解释为路线,并重新加载当前页面。(我正在使用HTML5模式) 通过替换为以下内容,我可以使轮播工作: 并在控制器中: 但是正确的方法是什么? 问题答案: 或者…使用此命令:Angular-UI-Bootstrap(包括轮播指令。)