【Java】解析浏览器中的header请求头为JSON格式
2023-09-11 14:16:50 时间
一、header文件
把浏览器中的header复制到文件中
二、代码解析
备注:可直接复制使用
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.SerializerFeature; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.ArrayList; /** * <dependency> * <groupId>com.alibaba</groupId> * <artifactId>fastjson</artifactId> * <version>1.2.58</version> * </dependency> */ public class AnalysisHeader { /** * 读取文本文件 * * @param filePath 文件路径 * @return 返回读取到的每行 列表 */ public static ArrayList<String> readFile(String filePath) { ArrayList<String> resultData = new ArrayList<>(); try { BufferedReader br = new BufferedReader( new InputStreamReader(new FileInputStream(new File(filePath)), "UTF-8") ); String lineTxt = null; int count = 0; // 逐行读取 while ((lineTxt = br.readLine()) != null) { // 输出内容到控制台 resultData.add(lineTxt); count++; } br.close(); } catch (Exception e) { System.out.println("Error Message :" + e); } return resultData; } /** * 格式化JSON * * @param jsonObject JSON对象 * @return 返回格式化后的JSON字符串 */ public static String formatJson(JSONObject jsonObject) { return JSON.toJSONString( jsonObject, SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteDateUseDateFormat ); } /** * 解析Header文件 * * @param headerPath * @return */ public static String analysis(String headerPath) { ArrayList<String> headers = AnalysisHeader.readFile(headerPath); JSONObject headerJson = new JSONObject(); for (String header : headers) { String[] split = header.split(": "); headerJson.put(split[0], split[1]); } return AnalysisHeader.formatJson(headerJson); } public static void main(String[] args) { String filePath = "C:\\Users\\Desktop\\header.txt"; System.out.println(AnalysisHeader.analysis(filePath)); } }
三、解析效果
相关文章
- MySQL_(Java)【连接池】简单在JDBCUtils.java中创建连接池
- 实例解析java + jQuery + json工作过程(获取JSON数据)
- JAVA 注解教程(四)Java 预置的注解
- Java实现 LeetCode 54 螺旋矩阵
- Java实现 洛谷 P1618 三连击(升级版)
- (转载)java多态(2)-------Java转型(向上或向下转型)
- java.lang.OutOfMemoryError: Java heap space 解决方法
- 【刷题】java-Integer和int的区别 & 包装类
- 【JAVA】java中的length和length()
- 【JAVA】毕向东Java基础视频教程-笔记
- 【java】Java连接mysql数据库及mysql驱动jar包下载和使用
- 基于JAVA实现的WEB端UI自动化 - WebDriver高级篇 - grid [跨浏览器远程测试-可分布式]
- 手绘图解java类加载原理
- Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法
- 解决idea出现的java.lang.OutOfMemoryError: Java heap space的问题
- Java如何获取IP属地 ip2region failed to create searcher with x:java.io.FileNotFoundException:( 系统找不到指定的路径)
- Java并发编程:volatile关键字解析
- Java---25---集合框架共性方法
- Java Instrumentation 内存马——主要是利用Instrumentation Java API来做内存注入,会用到反射机制,文中提到检测思路:注入jar包-> dump已加载class字节码->反编译成java代码-> 源码webshell检测
- Dynamsoft Barcode Reader For Java[WIN]
- 【java】Java 继承
- 【java】Java 集合框架
- 【java】Java并发编程系列-基础知识(非常详细哦)
- 【java】Java IO体系总览