我使用 SIEGE 来测试我的 Web 服务器性能。为了进行更实际的测试,最好的方法是让 SIEGE 访问网页 (website.com/our-company) 和所有静态资源(.css、.js、.png、.jpg)。您在 firefox / chrome 调试工具上看到的所有内容,当然除了从外部服务器(cdn.facebook、apis.google.com)加载的资源。
我正在运行多个测试,因此手动收集所有资产 URL 很痛苦。有没有一个工具可以用来加载网页并导出加载的所有内容的 url?
这是firefox调试。如果我可以将其导出为 txt 或 csv,那就完美了。
我在 debian CLI 上尝试过 CURL,但我不是专家。任何工具都会有所帮助,它不一定是 Firefox / Chrome 的插件。
致以诚挚的问候。
在 Chrome 中,您可以一键将这些数据导出到 HAR 文件(基于 JSON)。转到“网络”,右键单击并选择“将内容另存为 HAR”。
在 Windows 上,您可以使用 HttpWatch 在 IE 或 Firefox 中的免费基本版中执行此操作:
http://www.httpwatch.com/download/
CSV 导出功能会将 URL 和其他字段导出到 CSV 文件。
** 免责声明:这是由 HttpWatch 的制造商 Simtec Limited 发布的 **
具有从 Chrome DevTools 或 Firebug 导出 HAR 文件以使用 siege 进行负载测试的相同要求。此外,我也想重放 POST 请求。
选择以下解决方案之一:
没关系。
只是喜欢 firefox 的非常实用的 LiveHtttpHeaders 扩展。
致以诚挚的问候。
众所周知,HAR 文件格式是 JSON 文件。所以...我寻找 JSON 到 CSV 转换器并发现了这个:
这适用于我从 GTmetrix.com 获得的 HAR 文件。享受吧!
将所有内容复制为 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>