c# - 在 HTML 页面中加载资源的 JS 或任何其他语言 Hook

标签 c# php javascript html dhtml

我想要完成的事情:

  1. HTTP 获取网站内容(例如 google.com)
  2. 然后使用某种 Hook 或过滤器来捕获此页面尝试加载的所有资源(例如 CSS 文件、所有 JavaScript 文件、所有图像、所有 iframe 等)

首先想到的是解析下载的页面/代码并提取所有可能链接到资源的标签,但是它们非常多而且有些很棘手,比如在 CSS 中声明的图像背景,示例:

body {background-image:url('paper.gif');} 

另外,我需要捕获所有打算通过 JavaScript 加载的资源。例如,有一个 JS 函数将生成一个 URL,然后解释它以加载资源。

出于这个原因,我认为我需要某种 Hook 或过滤器/监视器。

编程语言并不重要(尽管在 Unix 机器上工作会很好)。

更新:这需要一个自动化的解决方案。

谢谢。

最佳答案

我假设您正在寻找一个完全自动化的解决方案。

有几种解析文件的方法(在所有主要的脚本语言中,基于 wget 的,以及其他)但我知道没有一种方法可以真正解释 JavaScript(因为这就是即将到来的)下降到)。

我认为您唯一的选择是在您的 Unix/Linux 机器上设置一个 Firefox(或其他现代浏览器)实例,为其提供一个 URL 并监视/阻止它尝试建立的所有传出连接。在客户端 PC 上,这是 Firebug 中“网络”选项卡的内容。这是否以及在多大程度上可以在不实际重写浏览器部分的情况下实现自动化,我不知道。也许Selenium RC或 Selenium 套件中的其他工具之一是起点。

关于c# - 在 HTML 页面中加载资源的 JS 或任何其他语言 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2318319/

相关文章:

javascript - 如何在收到新消息时在浏览器标题栏中提醒?

Javascript减少函数错误

javascript - 更改事件问题上的条纹元素

c# - 从标准小部件继承并在 C# 中设置我自己的默认值是个好主意吗?

c# - 是否实现两个接口(interface)?

c# - 难以从列表中删除项目

c# - 设置文件夹浏览器对话框开始位置

php - 在 html/php/css 中向右移动下拉列表

php - Mysql PHP 用户 '' @'localhost' 访问数据库被拒绝

javascript - 仅将事件应用于父级