hum*_*man 9 javascript web-traffic network-traffic node.js web-console
我正在尝试使用javascript捕获查询字符串参数以进行分析.我做了一些搜索,发现BMP可以用来做,但我找不到足够的例子来实现.任何人都可以指出我正确的方向.
编辑1:
我使用下面的代码browsermob-proxy来获取har文件,但是ERROR: browsermob-proxy returned error当我运行它时我得到了.我用硒.
getHarFile() {
const proxy = browsermb.Proxy;
const pr = new proxy({host:"0.0.0.0",port:4444});
pr.doHAR("http://www.cnn.com/", (err,data) => {
if (err) {
logger.debug('ERROR: ' + err);
} else {
fs.writeFileSync('ua.com.har', data, 'utf8');
logger.debug("#HAR CREATED#");
}
})
}
Run Code Online (Sandbox Code Playgroud)
因此,由于我不太确定您的范围,因此我会给您一些想法:
您应该更改 browsermob-proxy 的主机和代理。将主机更改为 127.0.0.1,并将端口更改为任意随机数(4444 即可)。然后,通过更改浏览器设置确保您的浏览器在该主机和代理中运行。
2.1 获取当前页面查询字符串
您可以使用location.search. 如果您正在使用一些带有 selenium 的 BDD 框架,则可以执行 javascript 代码并检索结果。您应该始终return在代码中添加 a以便在 BDD 测试中收到响应。
2.2 使用性能 API
您可以访问performance api 中的所有网络信息。如果需要获取当前页面 url,可以使用以下代码:
performance.getEntriesByType("navigation")
Run Code Online (Sandbox Code Playgroud)
这将返回所有当前导航事件和信息。
如果您想获取页面调用的一些信息,您可以使用以下方法访问它:
performance.getEntriesByType("resource")
Run Code Online (Sandbox Code Playgroud)
这将返回您的站点发出的所有调用。您必须遍历它搜索要查找的资源。
在所有方式中,都无法像在网络选项卡中那样获取查询字符串的值和键。您必须使用函数手动分隔它,您可以使用此处提供的代码来获取键的值。
我终于能够使用schrome 控制台上可用的对象来完成此操作。带有编码查询字符串的 url 可作为s.rbChrome 控制台中的对象使用。我刚刚对其进行了解码并提取了查询字符串参数。
| 归档时间: |
|
| 查看次数: |
2095 次 |
| 最近记录: |