编写以下代码以实现解析文件:
- class Program {
- static void Main(string[] args) {
- SRART: Console.WriteLine("输入待解析的HTTP报文数据文件完整路径:"); var filename = Console.ReadLine();
- try {
- FileStream fs = new FileStream(filename, FileMode.Open); BinaryReader br = new BinaryReader(fs);
- var data = br.ReadBytes((int)fs.Length); var header = new HTTPHeader(data);
- var x = 0; foreach (var f in header.HTTPField)
- { if (!String.IsNullOrEmpty(f))
- { Console.WriteLine($"[{x:00}] - {(HTTPHeaderField) x} : {f}");
- } x++;
- } Console.WriteLine($"总数据尺寸{fs.Length}字节,实际数据尺寸{header.Data.Length}字节");
- Console.WriteLine(Encoding.UTF8.GetString(header.Data)); Console.WriteLine();
- br.Close(); fs.Close();
- } catch (Exception e)
- { Console.WriteLine(e);
- } goto SRART;
- } }
这里还未实现gzip解压缩和字符解码,直接用UTF8解码输出的。(需要时再写吧,都是体力活儿~)
效果图展示:











