HAR文件
简介
HAR(HTTP Archive format)
,是一种或 JSON
格式的存档格式文件,通用扩展名为 .har
。Web 浏览器可以使用该格式导出有关其加载的网页的详细性能数据。
使用场景
在开发过程中,有的场景不好复现,比如访问速度慢,请求失败等,由于设备限制,对于我们来说精确的收集数据以及定位问题有一定难度。
比如,作为开发我们可以很熟练的按下F12查看请求,但如果是作为技术支持,没有办法长时间占用对方(客户)的电脑进行问题排查。HAR则可以帮助我们收集所有的HTTP请求。
保存 HAR 文件
我们以chrome打开 www.baidu.com/ 为例 具体步骤:
- 在菜单中打开“开发人员工具”(“菜单”>“更多工具” >“开发人员工具”),您也可以在键盘上按 F12 (或 Fn-F12)。
- 打开“网络”标签页。
- 在“网络”标签页的左上角,找到一个圆形按钮。 确保该按钮是红色的。如果显示灰色,请点击一次以开始 录制。
- 开启“保留日志”**。
- 重现问题。
- 要保存记录的内容,请在网格上右键点击,然后选择 **“将内容保存为 HAR”。
- 选择保存位置,该位置会生成一个名为
www.baidu.com.har
的文件。
打开 HAR 文件
chrome 打开开发者工具,切换到“网络”标签页,将HAR文件托拽放入即可。
- 使用其他抓包工具也可以, 例如Charles,fiddler Charles中操作流程: File > Import 选择导出的xxx.har文件即可
import json
from haralyzer import HarParser """解析har数据""" def main():
har_parser = HarParser.from_file(r'D:\Users\Desktop\数据\baidu.har')
data = har_parser.har_data
entries = data.get('entries')
for entry in entries:
req = entry['request']
url = req['url']
if 'task/list' not in url:
continue body = entry['response']
if 'text' not in body['content']:
continue content = body['content']['text']
info = json.loads(content)
print('解析的数据:', info)
list = info.get('data').get('list')
for item in list:
print(f'渠道ID:{item["channel_id"]} 渠道名称:{item["channel_name"]} 文章标题:{item["article_title"]}') if __name__ == '__main__':
main()
HAR文件的更多相关文章
- Charles录制App的接口har文件
Charles录制App的接口har文件 如果我们想录制我们自己App后台请求接口的信息,并生成har文件,要怎么做呢?其实很简单,就是通过Charles,让手机的访问请求走这个Charles代理就行 ...
- Python 解析har 文件将域名分类导出
前言 作为程序员平时主要是使用 shadowsocks 作为代理工具的.shadowsocks 有个很明显的优点儿就是可以设置白名单和黑名单.白名单是会走shadowsocks的自动代理模式. 遇到的 ...
- Chrome保存的HAR文件怎么打开?
- Chrome保存HAR 在Chrome中,在需要抓包的任意一个浏览器窗口,按F12,点Network页面,即可进入抓包界面,之后的所有网页交互操作产生的报文,都会在此列出. 在抓包的报文界面上右键 ...
- Web应用性能分析工具—HAR文件
Web应用性能分析工具—HAR文件 来源 https://raynorli.com/2018/06/11/web-performance-analysis-har-file/ 客户经常有的一个问题就是 ...
- Fiddler 抓包转成*.har文件在httprunner执行
1.Fiddler 抓包转成*.har 参考:https://blog.csdn.net/hou_angela/article/details/91837007 2.生成httprunner项目结构 ...
- pytho 解析fiddler 导出的har文件代码,自动录入api
参考:https://testerhome.com/topics/5276 har导出格式如下: { 'log': { 'pages': [], 'comment': 'exported @ 2019 ...
- 转:HAR(HTTP Archive)规范
HAR(HTTP Archive),是一个用来储存HTTP请求/响应信息的通用文件格式,基于JSON.这个格式的出现可以使HTTP监测工具以一种通用的格式导出所收集的数据,这些数据可以被其他支持HAR ...
- Hadoop处理大量小文件的问题和解决方法
小文件指的是那些size比HDFS的block size(默认64M)小的多的文件.如果在HDFS中存储小文件,那么在HDFS中肯定会含有许许多多这样的小文件(不然就不会用hadoop了).而HDFS ...
- 基于Hadoop Sequencefile的小文件解决方案
一.概述 小文件是指文件size小于HDFS上block大小的文件.这样的文件会给hadoop的扩展性和性能带来严重问题.首先,在HDFS中,任何block,文件或者目录在内存中均以对象的形式存储,每 ...
- 如何利用Hadoop存储小文件
**************************************************************************************************** ...
随机推荐
- Postman Code Java-Unirest 代码的依赖
本来是Postman的Code直接使用的,结果根据这个名字 Unirest,搜出来了很多依赖,使用了排名第一的, https://search.maven.org/search?q=Unirest 结 ...
- kubernetes重新初始化“[ERROR DirAvailable--var-lib-etcd]”
[root@master01 ~]# kubeadm init --config /root/kubeadm-config.yaml --upload-certs [init] Using Kuber ...
- VS code常用插件安装【持续更新】
Auto Close Tag 自动添加HTML/XML关闭标签.例如,在输入<div>时,输入完最后一个尖括号>时,会自动添加对应的闭合标签</div> Auto Ren ...
- ES6之常用开发知识点:let 和 const 命令详解(二)
let命令 基本用法 { let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1 根据上面结果显示,let声明的变 ...
- Angular 16+ 高级教程 – Angular 和其它技术方案的比较
前言 上一篇我有提到 Angular 适合用于哪些项目,但讲的太含糊,什么大中小项目的...这篇我将更具体的去讲解,Angular 的定位,还有它和其它方案的优缺点. Web 技术可以用来做许许多多不 ...
- Azure – WAF (Web Application Firewall)
前言 最近有客户想购买 Azure 的 Web Application Firewall (WAF), 来防 SQL Injection, XSS 攻击. 一开始我是觉得没什么必要, 毕竟什么年代了, ...
- Hugging Face NLP课程学习记录 - 0. 安装transformers库 & 1. Transformer 模型
Hugging Face NLP课程学习记录 - 0. 安装transformers库 & 1. Transformer 模型 说明: 首次发表日期:2024-09-14 官网: https: ...
- MyBatis——案例——查询-查询详情
查询-查询详情 (根据id获取商品全部信息(即商品对象)) 1.编写Mapper接口方法:Brand selectById(int id); 2.编写SQL ...
- [TK] 矩阵取数游戏<简单版> hzoi-tg-906-2
本题是一个坐标DP问题 状态转移 首先我们注意到,一个状态只能由两种前置状态得到:取左边的数和取右边的数,因此我们以状态为阶段定义如下: \(f[a][b][c]\) 为状态转移数组,其中 \(a\) ...
- 使用duxapp开发 React Native App 事半功倍
Taro的React Native端开发提供了两种开发方式,一种是将壳和代码分离,一种是将壳和代码合并在一起开发 壳是用来打包调试版或者发版安装包使用的 代码是运行在壳上的js代码 Taro壳子的代码 ...