1. 程式人生 > 其它 >【Java】解析瀏覽器中的header請求頭為JSON格式

【Java】解析瀏覽器中的header請求頭為JSON格式

一、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)); } }

 

三、解析效果