From: Kazuhiro Fujieda Date: Sun, 11 Feb 2018 10:34:11 +0000 (+0900) Subject: エラーログから艦隊名などの情報を削除する X-Git-Tag: v10.1~5 X-Git-Url: http://git.osdn.net/view?p=kancollesniffer%2FKancolleSniffer.git;a=commitdiff_plain;h=8d42114ccdc6c12464224c1c5e679debf9ea53c3 エラーログから艦隊名などの情報を削除する --- diff --git a/KancolleSniffer.Test/ErrorLogTest.cs b/KancolleSniffer.Test/ErrorLogTest.cs index 222df1f..913dd91 100644 --- a/KancolleSniffer.Test/ErrorLogTest.cs +++ b/KancolleSniffer.Test/ErrorLogTest.cs @@ -37,19 +37,25 @@ namespace KancolleSniffer.Test var request4 = "api%5Ftoken=0123456abcdef"; ErrorLog.RemoveUnwantedInformation(ref request4, ref response); PAssert.That(() => request4 == "", "トークン単独"); + var request5 = "api%5Fbtime=83026279&api%5Ftoken=b936475084b75920aa646d2a609b23cf3838bbc1&api%5Fverno=1"; + ErrorLog.RemoveUnwantedInformation(ref request5, ref response); + PAssert.That(() => request5 == "api%5Fverno=1", "戦闘APIの時刻印を削除"); } [TestMethod] public void RemoveUnwantedInformationFromResponse() { var request = ""; - var response = @"{""api_result"":1,""api_result_msg"":""成功"",""api_data"":" + + var response1 = @"{""api_result"":1,""api_result_msg"":""成功"",""api_data"":" + @"{""api_basic"":{""api_member_id"":""123456""," + @"""api_nickname"":""ぱんなこった"",""api_nickname_id"":""12345678"",""api_active_flag"":1}}}"; - ErrorLog.RemoveUnwantedInformation(ref request, ref response); - PAssert.That(() => response == - @"{""api_result"":1,""api_result_msg"":""成功"",""api_data"":" + - @"{""api_basic"":{""api_active_flag"":1}}}"); + ErrorLog.RemoveUnwantedInformation(ref request, ref response1); + PAssert.That(() => response1 == + @"{""api_result"":1,""api_result_msg"":""成功"",""api_data"":{""api_basic"":{""api_active_flag"":1}}}"); + var response2 = + @"{""api_deck_data"":[{""api_member_id"":123456,""api_id"":1,""api_name"":""第一艦隊"",""api_name_id"":""123456"",""api_mission"":[0,0,0,0],""api_flagship"":""0""}]}"; + ErrorLog.RemoveUnwantedInformation(ref request, ref response2); + PAssert.That(() => response2 == @"{""api_deck_data"":[{""api_id"":1,""api_name"":"""",""api_mission"":[0,0,0,0],""api_flagship"":""0""}]}"); } } } \ No newline at end of file diff --git a/KancolleSniffer/ErrorLog.cs b/KancolleSniffer/ErrorLog.cs index 1134980..afaf507 100644 --- a/KancolleSniffer/ErrorLog.cs +++ b/KancolleSniffer/ErrorLog.cs @@ -110,10 +110,12 @@ namespace KancolleSniffer public static void RemoveUnwantedInformation(ref string request, ref string response) { - var token = new Regex("&api%5Ftoken=.+?(?=&|$)|api%5Ftoken=.+?(?:&|$)"); + var token = new Regex(@"&api%5Ftoken=.+?(?=&|$)|api%5Ftoken=.+?(?:&|$)|api%5Fbtime=\d+&?"); request = token.Replace(request, ""); - var id = new Regex(@"""api_member_id"":""\d+?"",?|""api_nickname"":"".+?"",?|""api_nickname_id"":""\d+"",?"); + var id = new Regex(@"""api_member_id"":""?\d+""?,?|""api_nickname"":"".+?"",?|""api_nickname_id"":""\d+"",?|""api_name_id"":"".+?"",?|"); response = id.Replace(response, ""); + var name = new Regex(@"""api_name"":"".+?"""); + response = name.Replace(response, @"""api_name"":"""""); } private string CompressApi(string api)