问题标签 [har]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
350 浏览

javascript - Selenium 使用 HAR Export xpi 读取网络数据

我正在使用 HAR Export XPI 来获取使用 selenium 遍历的页面的网络流量。我正在将 XPI 添加到 ffv46(因为无法将 XPI 添加到最新的 ff 浏览器)。我使用了下面提到的配置文件设置 -

我正在注入以下 javascript 来获取 HAR 文件。

但是没有生成 HAR 文件。有什么我想念的吗。此外,如果我尝试在 FF 控制台中键入 HAR,我会收到未定义的消息,这会导致函数失败。

是否还有其他我缺少的设置。

提前致谢 !!!!

0 投票
1 回答
1181 浏览

browsermob-proxy - 如何让 browsermob-proxy 记录所有响应主体

我在使用 browsermob-proxy 及其 har 导出功能时遇到问题。未记录某些响应正文(缺少整个“文本”字段)

我的设置(使用 browsermob-proxy 2.1.4)

curl -X POST http://localhost:8080/proxy?port=9091

curl -X PUT "http://localhost:8080/proxy/9091/har?captureHeaders=true&captureCookies=true&captureContent=true"

一些回应很好:

"response": { "status": 201, "statusText": "Created", "httpVersion": "HTTP/1.1", "cookies": [], "headers": [{ "name": "Cache-Control", "value": "max-age=0, no-cache, no-store" }, { "name": "Content-Type", "value": "application/json" }, { "name": "Date", "value": "Thu, 15 Feb 2018 13:07:39 GMT" }, { "name": "Location", "value": ... }, { "name": "Pragma", "value": "no-cache" }, { "name": "Render-Time", "value": "8" }, { "name": "Server", "value": "openresty" }, { "name": "Strict-Transport-Security", "value": "max-age=31536000; includeSubDomains" }, { "name": "transfer-encoding", "value": "chunked" }, { "name": "Connection", "value": "keep-alive" }], "content": { "size": 8607, "mimeType": "application/json", "text": "{ <actual json body> }", "comment": "" }, ...

但有些不是(可能是特殊的内容/mime 类型?或者可能是 gzip 内容编码?)

"response": { "status": 200, "statusText": "OK", "httpVersion": "HTTP/1.1", "cookies": [], "headers": [{ "name": "Cache-Control", "value": "max-age=0, no-cache, no-store" }, { "name": "Content-Encoding", "value": "gzip" }, { "name": "Content-Type", "value": "application/some.custom.type-v1+json" }, { "name": "Date", "value": "Thu, 15 Feb 2018 13:07:39 GMT" }, { "name": "Pragma", "value": "no-cache" }, { "name": "Render-Time", "value": "92" }, { "name": "Server", "value": "openresty" }, { "name": "Strict-Transport-Security", "value": "max-age=31536000; includeSubDomains" }, { "name": "Vary", "value": "Accept-Encoding" }, { "name": "Content-Length", "value": "1978" }, { "name": "Connection", "value": "keep-alive" }], "content": { "size": 7429, "mimeType": "application/some.custom.type-v1+json", "comment": "" < there's nothing else here!! > }, "redirectURL": "", "headersSize": 444, "bodySize": 1978, "comment": "" }, ...

哦,是的,两个请求都通过 https,使用 MITM。

0 投票
1 回答
682 浏览

http - JMeter可以支持HTTP方法CONNECT吗

HTTP 方法 CONNECT是可用 HTTP 方法的一部分,

在 Fiddler 中也保存了 HTTP CONNECT,可以导出为 HAR 格式,然后转换为 JMeter 脚本,

在 JMeter 中,那些HTTP 请求失败,例如请求CONNECT http://graph.facebook.com:443/

出现以下错误:

HTTP 请求组件中未提及 CONNECT:

GET、POST、HEAD、TRACE、OPTIONS、PUT、DELETE、PATCH(不支持 JAVA 实现)。使用 HttpClient4,还允许以下与 WebDav 相关的方法:COPY、LOCK、MKCOL、MOVE、PROPFIND、PROPPATCH、UNLO​​CK、REPORT、MKCALENDAR、SEARCH。

可以在 JMeter 中执行 CONNECT 方法吗?如果不是什么可以解决?更改为其他方法或仅从脚本中删除这些请求?

编辑

我在 HTTP 原始请求中也未能执行类似的 CONNECT 方法。错误:Response message: java.nio.channels.AsynchronousCloseExceptionjava.net.ConnectException: Connection refused: connect

我也未能更改为 GET 或 https 协议。

0 投票
2 回答
1152 浏览

google-chrome - 我得到一个 .har 的空文件

我总是能够生成一个 .har 文件来帮助开发人员解决问题。但最近我得到了一个空文件!PS我使用Chrome。

0 投票
1 回答
3906 浏览

python - 如何在 Python 中从 selenium webdriver 获取所有请求

我正在尝试构建一个自动化工具来验证 Web 分析标签的实现。我正在使用 Python 3 + Selenium 和 PhantomJS 来自动浏览和收集正在触发的标签。我正在使用下面的代码来抓取网页并获取包含所有请求的 har 日志,类似于 Google Chrome 中的网络选项卡所做的。问题是,对于某些网站,它运行良好,我可以看到 google-analytics.com/collect? 来电。对于其他人,我可以在 Google Chrome 网络选项卡上看到它,但我的爬虫不会注册它。我确定我正在等待页面加载,但它仍然无法正常工作。

我在其中找到分析/收集的示例页面?在 har 日志中调用: https ://www.stackoverflow.com

我找不到分析/收集的页面示例?调用 har 日志,但在 chrome 网络选项卡上找到它。 https://www.nike.com.br

实例化 webdriver 的代码

解析har日志的代码

0 投票
1 回答
844 浏览

node.js - 使用 puppetter 生成 har

我可以使用 chrome 扩展在任何网站上记录用户事件(点击、输入值),并且可以在 mongodb 中保存步骤和启动 url。我想重播那些记录的步骤并为每个新请求生成 HAR。

记录的步骤格式:对于 Click

用于输入


用于生成 har 的当前代码:->


上面的代码在从数据库中获取的每一步(无论是单击还是赋值)上都会生成 har,但我想在任何请求更改后生成例如:- ajax 请求或 url 更改。

谢谢。

0 投票
3 回答
1776 浏览

google-chrome - Chrome HAR 文件大小限制

环境

  • 视窗 10
  • Chrome 版本 66.0.3359.181(官方版本)(64 位)

手头的问题

出于调试目的,我记录网络流量并将其保存为 HAR 文件。当生成的 HAR 文件很大 ( > ~12Mb ) 时,它的内容会被截断,从而导致无效的 JSON 对象。

  • 我可能做错了什么?
  • 这是一个已知的问题?
  • 过去有人遇到过类似的事情吗?
0 投票
0 回答
295 浏览

cefsharp - 如何从 CefSharp 导出 HAR 文件

我有 CefSharp (WinForms) 来显示用于 UI 测试的浏览器。我想实现一些功能来自动将网络请求保存为 HAR 文件 - 类似于 chrome devtools,当您访问网络选项卡时。

我不知道这是否可以使用 CefSharp.WinForms.ChromiumWebBrowser 中的一些处理程序(例如通过实现 RequestHandler)。但是在那里我没有看到任何时间信息。

0 投票
0 回答
143 浏览

javascript - 我在哪里运行 DevTools 代码?

我想使用chrome.devtools.network.getHAR()获取HAR文件。具体来说,我在MahiMahi重放 shell 中使用Selenium,我想注入它会将转储到文件中。标准注入('s方法)不起作用,因为页面的范围不包括 DevTools 兼容性。考虑到这一点,我有一系列问题:JSHARJSSeleniumexecuteScriptJS

  1. 我可以在哪里以及如何使用类似的方法chrome.devtools.network.getHAR()?我还没有找到我可以在哪里运行它,因为我 F12 没有它在范围内时的控制台。
  2. 我可以自动化这个过程吗?
  3. 我可以专门使用 Selenium 来解决这个问题,还是有任何其他浏览器自动化技术可以更好地工作?(虽然我宁愿避免使用 PhantomJS,因为它已经过时了)
  4. 还有其他更简单的方法可以自动从站点获取 HAR 文件吗?

注意:我的代码库是 Python

谢谢!

0 投票
1 回答
151 浏览

c# - 如何从与 Chromium 应用程序集成的 Windows 应用程序中保存 HAR 文件?

我们有一个与 Helix Server(Chromium 应用程序)集成的 Windows 应用程序。我们使用 LeanFT 来自动化 Windows 应用程序。我们还需要测试场景的性能日志(HAR 文件)。通过按Ctrl+ Alt+D我们可以手动打开 Devtools 并检查日志,但是在自动化时我们需要保存 HAR 文件。我尝试过使用驱动程序从浏览器中保存 HAR 文件的 HttpWatch 和 BrowserMobProxy,但无法从独立的 Windows 应用程序中保存它们。如果有人尝试从客户端应用程序保存 HAR 文件,请告诉我。