将特定页面上的所有http请求导出到txt/csv

问题描述 投票:0回答:8

我使用 SIEGE 来测试我的 Web 服务器性能。为了进行更实际的测试,最好的方法是让 SIEGE 访问网页 (website.com/our-company) 和所有静态资源(.css、.js、.png、.jpg)。您在 firefox / chrome 调试工具上看到的所有内容,当然除了从外部服务器(cdn.facebook、apis.google.com)加载的资源。

我正在运行多个测试,因此手动收集所有资产 URL 很痛苦。有没有一个工具可以用来加载网页并导出加载的所有内容的 url?

这是firefox调试。如果我可以将其导出为 txt 或 csv,那就完美了。 enter image description here

我在 debian CLI 上尝试过 CURL,但我不是专家。任何工具都会有所帮助,它不一定是 Firefox / Chrome 的插件。

致以诚挚的问候。

debugging http google-chrome firefox
8个回答
6
投票

在 Chrome 中,您可以一键将这些数据导出到 HAR 文件(基于 JSON)。转到“网络”,右键单击并选择“将内容另存为 HAR”。

Save as HAR with Content option in DevTools


4
投票

这是一个免费的命令行应用程序,用于将 HAR 文件转换为 CSV。希望有帮助。

http://www.yamamoto.com.ar/blog/?p=201

编辑:将项目添加到 GitHub:

https://github.com/spcgh0st/HarTools


1
投票

在 Windows 上,您可以使用 HttpWatch 在 IE 或 Firefox 中的免费基本版中执行此操作:

http://www.httpwatch.com/download/

CSV 导出功能会将 URL 和其他字段导出到 CSV 文件。

** 免责声明:这是由 HttpWatch 的制造商 Simtec Limited 发布的 **


1
投票

具有从 Chrome DevTools 或 Firebug 导出 HAR 文件以使用 siege 进行负载测试的相同要求。此外,我也想重放 POST 请求。

选择以下解决方案之一:


0
投票

没关系。

只是喜欢 firefox 的非常实用的 LiveHtttpHeaders 扩展。

致以诚挚的问候。


0
投票

众所周知,HAR 文件格式是 JSON 文件。所以...我寻找 JSON 到 CSV 转换器并发现了这个:

https://json-csv.com/

这适用于我从 GTmetrix.com 获得的 HAR 文件。享受吧!


0
投票

您可以通过转至 网络选项卡 Chrome 开发者控制台导出所有 Http 请求

    在“网络”选项卡中选择一个请求
  • 按鼠标右键
  • 从弹出菜单中选择复制 -> 全部复制为 Har(Curl/Har/etc)
  • 粘贴到文件中

enter image description here


0
投票
这里有一个小工具,可以帮助您从

将所有内容复制为 HAR 到所有请求的简单列表。

function parseHAR() { const input = document.getElementById('input').value; const output = document.getElementById('output'); try { const harData = JSON.parse(input); const entries = harData.log.entries; let result = entries.map(entry => { const request = entry.request; const response = entry.response; return `${response.status} ${request.method} ${request.url}`; }).join('\n'); output.textContent = result; } catch (error) { output.textContent = 'Error parsing HAR file. Please ensure you\'ve pasted valid HAR JSON content.\n\nError: ' + error.message; } } function copyOutput() { const output = document.getElementById('output'); if (output.textContent) { navigator.clipboard.writeText(output.textContent) .then(() => { const originalText = output.textContent; output.textContent = 'Copied to clipboard!'; setTimeout(() => { output.textContent = originalText; }, 1000); }) .catch(err => { console.error('Failed to copy text: ', err); alert('Failed to copy to clipboard'); }); } }
body {
    font-family: system-ui, -apple-system, sans-serif;
    max-width: 1200px;
    margin: 20px auto;
    padding: 0 20px;
}
textarea {
    width: 100%;
    height: 200px;
    margin: 10px 0;
    padding: 10px;
    font-family: monospace;
    box-sizing: border-box;
}
#output {
    white-space: pre-wrap;
    font-family: monospace;
    background: #f5f5f5;
    padding: 10px;
    border-radius: 4px;
    margin: 10px 0;
}
<p>Paste your HAR file content below:</p>
<textarea id="input" placeholder="Paste HAR JSON here..."></textarea>
<br>
<button onclick="parseHAR()">Extract list</button>
<button onclick="copyOutput()">Copy output to clipboard</button>
<div id="output"></div>

© www.soinside.com 2019 - 2024. All rights reserved.