diff options
| author | lijia <[email protected]> | 2024-04-08 15:53:41 +0800 |
|---|---|---|
| committer | lijia <[email protected]> | 2024-04-08 16:20:02 +0800 |
| commit | d2344728cc2fbec37b2186c05634ac509d2fc3c4 (patch) | |
| tree | 417716a9c95a74984e59a82b35f5979e12405555 /test | |
| parent | 215e383be1f47cd18c235855d0cee0485f6cb423 (diff) | |
add payload md5sum test; add self-consistent test.
Diffstat (limited to 'test')
29 files changed, 652 insertions, 486 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 6ee5c6f..42d2fad 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -12,7 +12,7 @@ include_directories(/usr/local/include/cjson) include_directories(/opt/tsg/framework/include/stellar) include_directories(/opt/MESA/include/MESA) -add_executable(gtest_http_decoder http_decoder_driver.cpp http_decoder_stub.cpp http_decoder_gtest.cpp) +add_executable(gtest_http_decoder http_decoder_driver.cpp http_decoder_stub.cpp http_decoder_gtest.cpp md5.c) link_directories(${CMAKE_BINARY_DIR}/src) target_link_libraries(gtest_http_decoder http_decoder gtest pcap MESA_jump_layer cjson-static) @@ -51,6 +51,7 @@ add_test(NAME HTTP_CHUNKED_RES_GZIP_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURREN add_test(NAME HTTP_OVER_TCP_KEEPALIVE_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_over_tcp_keepalive.json -p ${CMAKE_CURRENT_SOURCE_DIR}/http_pcap/http_over_tcp_keepalive.pcap WORKING_DIRECTORY ${TEST_RUN_DIR}) +#todo: support http tunnel to fully parse pop3 protocol add_test(NAME HTTP_TUNNEL_FOR_POP3_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_tunnel_for_pop3.json -p ${CMAKE_CURRENT_SOURCE_DIR}/http_pcap/http_tunnel_for_pop3.pcap WORKING_DIRECTORY ${TEST_RUN_DIR}) @@ -117,6 +118,15 @@ add_test(NAME HTTP_URL_WITHOUT_HOST_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURREN add_test(NAME HTTP_6OVER4_SINGLE_TRANS_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_6over4_single_trans.json -p ${CMAKE_CURRENT_SOURCE_DIR}/http_pcap/http_6over4_single_trans.pcap WORKING_DIRECTORY ${TEST_RUN_DIR}) +add_test(NAME HTTP_POST_SINGLE_TRANS_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_post_single_trans.json + -p ${CMAKE_CURRENT_SOURCE_DIR}/http_pcap/http_post_single_trans.pcap WORKING_DIRECTORY ${TEST_RUN_DIR}) + +add_test(NAME HTTP_SELF_CONSISTENT_V4_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_get_single_trans.json + -s ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_get_single_trans.json WORKING_DIRECTORY ${TEST_RUN_DIR}) + +add_test(NAME HTTP_SELF_CONSISTENT_V6_TEST COMMAND ${TEST_MAIN} -b ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_6over4_single_trans.json + -s ${CMAKE_CURRENT_SOURCE_DIR}/test_result_json/http_6over4_single_trans.json WORKING_DIRECTORY ${TEST_RUN_DIR}) + set_tests_properties(HTTP_GET_SINGLE_TRANS_TEST HTTP_GET_SINGLE_TRANS_MSS1_TEST HTTP_GET_MULTI_TRANS_TEST @@ -146,4 +156,7 @@ set_tests_properties(HTTP_GET_SINGLE_TRANS_TEST HTTP_URL_WITH_HOST_TEST HTTP_URL_WITHOUT_HOST_TEST HTTP_6OVER4_SINGLE_TRANS_TEST + HTTP_POST_SINGLE_TRANS_TEST + HTTP_SELF_CONSISTENT_V4_TEST + HTTP_SELF_CONSISTENT_V6_TEST PROPERTIES FIXTURES_REQUIRED TestFixture) diff --git a/test/http_decoder_gtest.cpp b/test/http_decoder_gtest.cpp index aa81df2..b43fa66 100644 --- a/test/http_decoder_gtest.cpp +++ b/test/http_decoder_gtest.cpp @@ -26,7 +26,7 @@ extern "C" #include "stellar/stellar.h" #include "stellar/session_exdata.h" #include "stellar/session_mq.h" - +#include "md5.h" int commit_test_result_json(cJSON *node, const char *name); } #endif @@ -44,6 +44,7 @@ enum http_transaction_type struct gtest_plug_exdata_t { cJSON *result_jnode[HTTP_TRANSACTION_MAX]; + MD5_CTX *md5ctx[HTTP_TRANSACTION_MAX]; }; static int g_result_count = 0; @@ -51,7 +52,7 @@ static int g_header_count = 1; static int g_exdata_idx = 0; static int g_topic_id = 0; -#if 1 +#if 0 void output_http_req_line(struct http_request_line *req_line) { char tmp_str[MAX_KEY_STR_LEN] = {0}; @@ -87,7 +88,6 @@ void output_http_header(struct http_header *header) memcpy(tmp_val, header->val.str, header->val.str_len); printf("<%s:%s>\n", tmp_key, tmp_val); } -#endif void output_http_body(struct hstring *body, int decompress_flag) { @@ -115,6 +115,21 @@ void output_http_body(struct hstring *body, int decompress_flag) } printf("\n"); } +#endif + +static void append_http_payload(struct session *sess, struct gtest_plug_exdata_t *gtest_plug_exdata, const struct hstring *body, enum http_transaction_type type) +{ + if (NULL == body->str || 0 == body->str_len) + { + return; + } + if (NULL == gtest_plug_exdata->md5ctx[type]) + { + gtest_plug_exdata->md5ctx[type] = MMALLOC(MD5_CTX, sizeof(MD5_CTX)); + MD5Init(gtest_plug_exdata->md5ctx[type]); + } + MD5Update(gtest_plug_exdata->md5ctx[type], (unsigned char *)body->str, body->str_len); +} int http_field_to_json(cJSON *object, const char *key, char *val, size_t val_len) { @@ -206,6 +221,22 @@ static void commit_last_half_flow_data(struct session *sess, struct gtest_plug_e cJSON *last_jnode = gtest_plug_exdata->result_jnode[type]; if (last_jnode) { + // finish md5 streming hash + if (gtest_plug_exdata->md5ctx[type]) + { + unsigned char md5_result_bin[16] = {0}; + unsigned char md5_result_cstr[33] = {0}; + MD5Final(md5_result_bin, gtest_plug_exdata->md5ctx[type]); + + for (int i = 0; i < 16; i++) + sprintf((char *)md5_result_cstr + 2 * i, "%02x", md5_result_bin[i]); + md5_result_cstr[32] = '\0'; + + cJSON_AddStringToObject(last_jnode, GTEST_HTTP_PAYLOAD_MD5_NAME, (char *)md5_result_cstr); + FREE(gtest_plug_exdata->md5ctx[type]); + gtest_plug_exdata->md5ctx[type] = NULL; + } + sprintf(result_name, "%d", g_result_count); commit_test_result_json(last_jnode, result_name); gtest_plug_exdata->result_jnode[type] = NULL; @@ -280,11 +311,11 @@ http_decoder_test_entry(struct session *sess, int topic_id, const void *data, http_url_add_to_json(gtest_plug_exdata->result_jnode[HTTP_TRANSACTION_REQ], msg); break; case HTTP_MESSAGE_REQ_BODY: - http_message_get_request_raw_body(msg, &body); - // output_http_body(&body, 0); - + // http_message_get_request_raw_body(msg, &body); + // output_http_body(&body, 0); http_message_get_request_decompress_body(msg, &body); // output_http_body(&body, 1); + append_http_payload(sess, gtest_plug_exdata, &body, HTTP_TRANSACTION_REQ); break; case HTTP_MESSAGE_RES_LINE: commit_last_half_flow_data(sess, gtest_plug_exdata, HTTP_TRANSACTION_RES); @@ -299,11 +330,11 @@ http_decoder_test_entry(struct session *sess, int topic_id, const void *data, g_header_count = 1; break; case HTTP_MESSAGE_RES_BODY: - http_message_get_response_raw_body(msg, &body); - // output_http_body(&body, 0); - + // http_message_get_response_raw_body(msg, &body); + // output_http_body(&body, 0); http_message_get_response_decompress_body(msg, &body); // output_http_body(&body, 1); + append_http_payload(sess, gtest_plug_exdata, &body, HTTP_TRANSACTION_RES); break; // to do: check payload diff --git a/test/http_decoder_gtest.h b/test/http_decoder_gtest.h index 46b0c43..4412504 100644 --- a/test/http_decoder_gtest.h +++ b/test/http_decoder_gtest.h @@ -45,6 +45,7 @@ #define GTEST_HTTP_URL_NAME "__X_HTTP_URL" #define GTEST_HTTP_TRANS_NAME "__X_HTTP_TRANSACTION" #define GTEST_HTTP_TUPLE4_NAME "__X_HTTP_TUPLE4" +#define GTEST_HTTP_PAYLOAD_MD5_NAME "__X_HTTP_PAYLOAD_MD5" struct fake_exdata_manage { diff --git a/test/http_pcap/http_post_single_trans.pcap b/test/http_pcap/http_post_single_trans.pcap Binary files differnew file mode 100644 index 0000000..dfa37d3 --- /dev/null +++ b/test/http_pcap/http_post_single_trans.pcap @@ -34,7 +34,7 @@ typedef unsigned char *POINTER; typedef unsigned short int UINT2;
/* UINT4 defines a four byte word */
-//typedef unsigned long int UINT4;
+// typedef unsigned long int UINT4;
typedef unsigned int UINT4;
/* PROTO_LIST is defined depending on how PROTOTYPES is defined above.
@@ -48,23 +48,27 @@ typedef unsigned int UINT4; #endif
/* MD5 context. */
-typedef struct {
- UINT4 state[4]; /* state (ABCD) */
- UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
- unsigned char buffer[64]; /* input buffer */
+typedef struct
+{
+ UINT4 state[4]; /* state (ABCD) */
+ UINT4 count[2]; /* number of bits, modulo 2^64 (lsb first) */
+ unsigned char buffer[64]; /* input buffer */
} MD5_CTX;
-void MD5Init PROTO_LIST ((MD5_CTX *));
-void MD5Update PROTO_LIST ((MD5_CTX *, unsigned char *, unsigned int));
-void MD5Final PROTO_LIST ((unsigned char [16], MD5_CTX *));
-
#ifdef __cplusplus
extern "C"
{
-char *MESA_MD5_sum_str(unsigned char *raw_data, unsigned int raw_data_len, char result[33]);
-char *MESA_MD5_sum_bin(unsigned char *raw_data, unsigned int raw_data_len, char result[16]);
+ void MD5Init(MD5_CTX *context);
+ void MD5Update(
+ MD5_CTX *context, /* context */
+ unsigned char *input, /* input block */
+ unsigned int inputLen); /* length of input block */
+ void MD5Final(
+ unsigned char digest[16], /* message digest */
+ MD5_CTX *context); /* context */
+ char *MESA_MD5_sum_str(unsigned char *raw_data, unsigned int raw_data_len, char result[33]);
+ char *MESA_MD5_sum_bin(unsigned char *raw_data, unsigned int raw_data_len, char result[16]);
}
#endif
-
#endif
diff --git a/test/test_result_json/http_6over4_single_trans.json b/test/test_result_json/http_6over4_single_trans.json index 4f6244a..d4ba763 100644 --- a/test/test_result_json/http_6over4_single_trans.json +++ b/test/test_result_json/http_6over4_single_trans.json @@ -28,6 +28,7 @@ "Connection": "close", "Content-Type": "text/plain", "Cache-Control": "max-age=30, must-revalidate", + "__X_HTTP_PAYLOAD_MD5": "cd5a4d3fdd5bffc16bf959ef75cf37bc", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_chunked_res_gzip.json b/test/test_result_json/http_chunked_res_gzip.json index 4da91fd..d60d69b 100644 --- a/test/test_result_json/http_chunked_res_gzip.json +++ b/test/test_result_json/http_chunked_res_gzip.json @@ -37,5 +37,6 @@ "X-Slogan1": "Go deep.", "CF-RAY": "260a3f709d7b0761-AMS", "Content-Encoding": "gzip", + "__X_HTTP_PAYLOAD_MD5": "855f8310be999de806e89a420a95435d", "__X_HTTP_RESULT_INDEX": "2" }] diff --git a/test/test_result_json/http_get_encoded_uri.json b/test/test_result_json/http_get_encoded_uri.json index 189bf88..e6c72bd 100644 --- a/test/test_result_json/http_get_encoded_uri.json +++ b/test/test_result_json/http_get_encoded_uri.json @@ -35,6 +35,7 @@ "Content-Type": "text/html;charset=UTF-8", "Transfer-Encoding": "chunked", "Date": "Sat, 18 May 2019 01:36:57 GMT", + "__X_HTTP_PAYLOAD_MD5": "d545e0faf20f7ffe90e31cfc1aef1782", "__X_HTTP_RESULT_INDEX": "2" }, { "__X_HTTP_TRANSACTION": "request", @@ -67,5 +68,6 @@ "Content-Type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=UTF-8", "Content-Length": "1703517", "Date": "Sat, 18 May 2019 01:37:00 GMT", + "__X_HTTP_PAYLOAD_MD5": "3598c468910611a3128d068e20ae0e82", "__X_HTTP_RESULT_INDEX": "4" }] diff --git a/test/test_result_json/http_get_malformed.json b/test/test_result_json/http_get_malformed.json index fdaa350..384ef5b 100644 --- a/test/test_result_json/http_get_malformed.json +++ b/test/test_result_json/http_get_malformed.json @@ -23,6 +23,7 @@ "Date": "Wed, 12 Sep 2018 19:45:55 GMT", "Content-Type": "text/html", "Content-Length": "1547", + "__X_HTTP_PAYLOAD_MD5": "1807c0ebdda65240e058706d9626d2af", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_get_multi_trans.json b/test/test_result_json/http_get_multi_trans.json index 6bb4ca4..9cd6b57 100644 --- a/test/test_result_json/http_get_multi_trans.json +++ b/test/test_result_json/http_get_multi_trans.json @@ -1,139 +1,149 @@ - -[{ - "__X_HTTP_TUPLE4": "192.168.50.18.60400>192.168.42.1.80", - "__X_HTTP_RESULT_INDEX": "0" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/account/login.htm", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Host": "test.pro.testin.cn", - "Connection": "keep-alive", - "Upgrade-Insecure-Requests": "1", - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36", - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "Accept-Encoding": "gzip, deflate", - "Accept-Language": "zh-CN,zh;q=0.9", - "Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=531AACA879469EDAB825E28113490E10", - "__X_HTTP_URL": "test.pro.testin.cn/account/login.htm", - "__X_HTTP_RESULT_INDEX": "1" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "major_version": 1, - "minor_version": 1, - "status_code": 302, - "Server": "nginx/1.16.1", - "Date": "Tue, 31 May 2022 06:41:23 GMT", - "Content-Length": "0", - "Connection": "keep-alive", - "Set-Cookie": "JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA; Path=/; HttpOnly", - "Set-Cookie1": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", - "Set-Cookie2": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", - "Location": "http://test.pro.testin.cn/enterprise/index.htm", - "Content-Language": "zh-CN", - "__X_HTTP_RESULT_INDEX": "2" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/enterprise/index.htm", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Host": "test.pro.testin.cn", - "Connection": "keep-alive", - "Upgrade-Insecure-Requests": "1", - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36", - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "Accept-Encoding": "gzip, deflate", - "Accept-Language": "zh-CN,zh;q=0.9", - "Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA", - "__X_HTTP_URL": "test.pro.testin.cn/enterprise/index.htm", - "__X_HTTP_RESULT_INDEX": "3" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "major_version": 1, - "minor_version": 1, - "status_code": 302, - "Server": "nginx/1.16.1", - "Date": "Tue, 31 May 2022 06:41:23 GMT", - "Content-Length": "0", - "Connection": "keep-alive", - "Set-Cookie": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", - "Set-Cookie1": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", - "Location": "http://test.pro.testin.cn/enterprise/into.htm?eid=1", - "Content-Language": "zh-CN", - "__X_HTTP_RESULT_INDEX": "4" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/enterprise/into.htm?eid=1", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Host": "test.pro.testin.cn", - "Connection": "keep-alive", - "Upgrade-Insecure-Requests": "1", - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36", - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "Accept-Encoding": "gzip, deflate", - "Accept-Language": "zh-CN,zh;q=0.9", - "Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA", - "__X_HTTP_URL": "test.pro.testin.cn/enterprise/into.htm?eid=1", - "__X_HTTP_RESULT_INDEX": "5" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "major_version": 1, - "minor_version": 1, - "status_code": 302, - "Server": "nginx/1.16.1", - "Date": "Tue, 31 May 2022 06:41:23 GMT", - "Content-Length": "0", - "Connection": "keep-alive", - "Set-Cookie": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", - "Set-Cookie1": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", - "Location": "http://test.pro.testin.cn/realmachine/index.htm", - "Content-Language": "zh-CN", - "__X_HTTP_RESULT_INDEX": "6" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/realmachine/index.htm", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Host": "test.pro.testin.cn", - "Connection": "keep-alive", - "Upgrade-Insecure-Requests": "1", - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36", - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "Accept-Encoding": "gzip, deflate", - "Accept-Language": "zh-CN,zh;q=0.9", - "Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA", - "__X_HTTP_URL": "test.pro.testin.cn/realmachine/index.htm", - "__X_HTTP_RESULT_INDEX": "7" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "nginx/1.16.1", - "Date": "Tue, 31 May 2022 06:41:23 GMT", - "Content-Type": "text/html;charset=UTF-8", - "Transfer-Encoding": "chunked", - "Connection": "keep-alive", - "Vary": "Accept-Encoding", - "Set-Cookie": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", - "Set-Cookie1": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", - "Set-Cookie2": "pid_pro=1; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", - "Set-Cookie3": "eid_pro=1; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", - "Set-Cookie4": "pname_pro=name; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", - "Content-Language": "zh-CN", - "Content-Encoding": "gzip", - "__X_HTTP_RESULT_INDEX": "8" - }]
\ No newline at end of file +[ + { + "__X_HTTP_TUPLE4": "192.168.50.18.60400>192.168.42.1.80", + "__X_HTTP_RESULT_INDEX": "0" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/account/login.htm", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Host": "test.pro.testin.cn", + "Connection": "keep-alive", + "Upgrade-Insecure-Requests": "1", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36", + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", + "Accept-Encoding": "gzip, deflate", + "Accept-Language": "zh-CN,zh;q=0.9", + "Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=531AACA879469EDAB825E28113490E10", + "__X_HTTP_URL": "test.pro.testin.cn/account/login.htm", + "__X_HTTP_RESULT_INDEX": "1" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "major_version": 1, + "minor_version": 1, + "status_code": 302, + "Server": "nginx/1.16.1", + "Date": "Tue, 31 May 2022 06:41:23 GMT", + "Content-Length": "0", + "Connection": "keep-alive", + "Set-Cookie": "JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA; Path=/; HttpOnly", + "Set-Cookie1": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", + "Set-Cookie2": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", + "Location": "http://test.pro.testin.cn/enterprise/index.htm", + "Content-Language": "zh-CN", + "__X_HTTP_RESULT_INDEX": "2" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/enterprise/index.htm", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Host": "test.pro.testin.cn", + "Connection": "keep-alive", + "Upgrade-Insecure-Requests": "1", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36", + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", + "Accept-Encoding": "gzip, deflate", + "Accept-Language": "zh-CN,zh;q=0.9", + "Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA", + "__X_HTTP_URL": "test.pro.testin.cn/enterprise/index.htm", + "__X_HTTP_RESULT_INDEX": "3" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "major_version": 1, + "minor_version": 1, + "status_code": 302, + "Server": "nginx/1.16.1", + "Date": "Tue, 31 May 2022 06:41:23 GMT", + "Content-Length": "0", + "Connection": "keep-alive", + "Set-Cookie": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", + "Set-Cookie1": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", + "Location": "http://test.pro.testin.cn/enterprise/into.htm?eid=1", + "Content-Language": "zh-CN", + "__X_HTTP_RESULT_INDEX": "4" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/enterprise/into.htm?eid=1", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Host": "test.pro.testin.cn", + "Connection": "keep-alive", + "Upgrade-Insecure-Requests": "1", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36", + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", + "Accept-Encoding": "gzip, deflate", + "Accept-Language": "zh-CN,zh;q=0.9", + "Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA", + "__X_HTTP_URL": "test.pro.testin.cn/enterprise/into.htm?eid=1", + "__X_HTTP_RESULT_INDEX": "5" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "major_version": 1, + "minor_version": 1, + "status_code": 302, + "Server": "nginx/1.16.1", + "Date": "Tue, 31 May 2022 06:41:23 GMT", + "Content-Length": "0", + "Connection": "keep-alive", + "Set-Cookie": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", + "Set-Cookie1": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", + "Location": "http://test.pro.testin.cn/realmachine/index.htm", + "Content-Language": "zh-CN", + "__X_HTTP_RESULT_INDEX": "6" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/realmachine/index.htm", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Host": "test.pro.testin.cn", + "Connection": "keep-alive", + "Upgrade-Insecure-Requests": "1", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36", + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", + "Accept-Encoding": "gzip, deflate", + "Accept-Language": "zh-CN,zh;q=0.9", + "Cookie": "Hm_lvt_1b8c1194303ef64e02f003f0cb8a1906=1653898514; _gcl_au=1.1.1010551181.1653898515; _ga=GA1.2.1419569885.1653898515; _gid=GA1.2.2007113907.1653898515; authtoken_pro=tea83b3beef07488bb8571811385db42; userId_pro=1160; pid_pro=1; eid_pro=1; pname_pro=name; Hm_lpvt_1b8c1194303ef64e02f003f0cb8a1906=1653961741; JSESSIONID=CFAB9C0C3F4D9D6C2837E3BA9425AFCA", + "__X_HTTP_URL": "test.pro.testin.cn/realmachine/index.htm", + "__X_HTTP_RESULT_INDEX": "7" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "nginx/1.16.1", + "Date": "Tue, 31 May 2022 06:41:23 GMT", + "Content-Type": "text/html;charset=UTF-8", + "Transfer-Encoding": "chunked", + "Connection": "keep-alive", + "Vary": "Accept-Encoding", + "Set-Cookie": "authtoken_pro=tea83b3beef07488bb8571811385db42; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", + "Set-Cookie1": "userId_pro=1160; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", + "Set-Cookie2": "pid_pro=1; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", + "Set-Cookie3": "eid_pro=1; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", + "Set-Cookie4": "pname_pro=name; Max-Age=28800; Expires=Tue, 31-May-2022 14:41:23 GMT; Domain=testin.cn; Path=/; HttpOnly", + "Content-Language": "zh-CN", + "Content-Encoding": "gzip", + "__X_HTTP_PAYLOAD_MD5": "39cb5f3a9cbcfbd16f66e040ec49b8c4", + "__X_HTTP_RESULT_INDEX": "8" + } +]
\ No newline at end of file diff --git a/test/test_result_json/http_get_req_pipeline.json b/test/test_result_json/http_get_req_pipeline.json index a442274..e3c692b 100644 --- a/test/test_result_json/http_get_req_pipeline.json +++ b/test/test_result_json/http_get_req_pipeline.json @@ -62,6 +62,7 @@ "Date": "Wed, 25 Oct 2023 06:43:35 GMT", "Content-Type": "text/html", "Connection": "close", + "__X_HTTP_PAYLOAD_MD5": "6fb335f443cfc8a9d952d27cf3dc1059", "__X_HTTP_RESULT_INDEX": "4" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_get_single_trans.json b/test/test_result_json/http_get_single_trans.json index b227989..98c2c27 100644 --- a/test/test_result_json/http_get_single_trans.json +++ b/test/test_result_json/http_get_single_trans.json @@ -25,5 +25,6 @@ "Content-type": "text/html", "Content-Length": "144", "Last-Modified": "Thu, 30 Nov 2023 08:38:54 GMT", + "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76", "__X_HTTP_RESULT_INDEX": "2" }] diff --git a/test/test_result_json/http_hdr_truncated_after_kv.json b/test/test_result_json/http_hdr_truncated_after_kv.json index 68b5f45..50f1ec6 100644 --- a/test/test_result_json/http_hdr_truncated_after_kv.json +++ b/test/test_result_json/http_hdr_truncated_after_kv.json @@ -1,285 +1,312 @@ -[{ - "__X_HTTP_TUPLE4": "196.188.112.76.51494>23.246.50.149.80", - "__X_HTTP_RESULT_INDEX": "0" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Accept": "image/*", - "Accept-Encoding": "deflate, gzip", - "Connection": "Keep-Alive", - "Host": "occ-0-778-360.1.nflxso.net", - "Language": "en-ET,en", - "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", - "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392", - "__X_HTTP_RESULT_INDEX": "1" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Accept": "image/*", - "Accept-Encoding": "deflate, gzip", - "Connection": "Keep-Alive", - "Host": "occ-0-778-360.1.nflxso.net", - "Language": "en-ET,en", - "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", - "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e", - "__X_HTTP_RESULT_INDEX": "2" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Accept": "image/*", - "Accept-Encoding": "deflate, gzip", - "Connection": "Keep-Alive", - "Host": "occ-0-778-360.1.nflxso.net", - "Language": "en-ET,en", - "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", - "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7", - "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7", - "__X_HTTP_RESULT_INDEX": "3" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "nginx", - "Date": "Sat, 13 Nov 2021 14:15:58 GMT", - "Content-Type": "image/jpeg", - "Content-Length": "18377", - "Connection": "keep-alive", - "Cache-Control": "max-age=2592000", - "Last-Modified": "Wed, 10 Nov 2021 08:00:14 GMT", - "ETag": "\"c289a42885b30107ad119e2a6e405e4d\"", - "__X_HTTP_RESULT_INDEX": "4" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Accept": "image/*", - "Accept-Encoding": "deflate, gzip", - "Connection": "Keep-Alive", - "Host": "occ-0-778-360.1.nflxso.net", - "Language": "en-ET,en", - "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83", - "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", - "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83", - "__X_HTTP_RESULT_INDEX": "5" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Accept": "image/*", - "Accept-Encoding": "deflate, gzip", - "Connection": "Keep-Alive", - "Host": "occ-0-778-360.1.nflxso.net", - "Language": "en-ET,en", - "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257", - "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", - "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257", - "__X_HTTP_RESULT_INDEX": "6" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Accept": "image/*", - "Accept-Encoding": "deflate, gzip", - "Connection": "Keep-Alive", - "Host": "occ-0-778-360.1.nflxso.net", - "Language": "en-ET,en", - "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532", - "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", - "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532", - "__X_HTTP_RESULT_INDEX": "7" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Accept": "image/*", - "Accept-Encoding": "deflate, gzip", - "Connection": "Keep-Alive", - "Host": "occ-0-778-360.1.nflxso.net", - "Language": "en-ET,en", - "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa", - "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", - "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa", - "__X_HTTP_RESULT_INDEX": "8" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Accept": "image/*", - "Accept-Encoding": "deflate, gzip", - "Connection": "Keep-Alive", - "Host": "occ-0-778-360.1.nflxso.net", - "Language": "en-ET,en", - "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723", - "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", - "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723", - "__X_HTTP_RESULT_INDEX": "9" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "nginx", - "Date": "Sat, 13 Nov 2021 14:15:58 GMT", - "Content-Type": "image/jpeg", - "Content-Length": "13488", - "Connection": "keep-alive", - "Cache-Control": "max-age=2592000", - "Last-Modified": "Mon, 08 Nov 2021 19:50:54 GMT", - "ETag": "\"35d56b6a0ef3b5857013f44620bd8888\"", - "__X_HTTP_RESULT_INDEX": "10" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "nginx", - "Date": "Sat, 13 Nov 2021 14:15:58 GMT", - "Content-Type": "image/jpeg", - "Content-Length": "14129", - "Connection": "keep-alive", - "Cache-Control": "max-age=2592000", - "Last-Modified": "Tue, 26 Oct 2021 15:12:58 GMT", - "ETag": "\"bb83961ad5fe366dcbb5240ead69f650\"", - "__X_HTTP_RESULT_INDEX": "11" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "nginx", - "Date": "Sat, 13 Nov 2021 14:15:58 GMT", - "Content-Type": "image/jpeg", - "Content-Length": "11493", - "Connection": "keep-alive", - "Cache-Control": "max-age=2592000", - "Last-Modified": "Thu, 04 Nov 2021 20:44:22 GMT", - "ETag": "\"c5be6a7137482da270bb2adc8d44a28d\"", - "__X_HTTP_RESULT_INDEX": "12" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "nginx", - "Date": "Sat, 13 Nov 2021 14:15:58 GMT", - "Content-Type": "image/jpeg", - "Content-Length": "14219", - "Connection": "keep-alive", - "Cache-Control": "max-age=2592000", - "Last-Modified": "Sat, 25 Sep 2021 05:02:49 GMT", - "ETag": "\"61bec96775876749bb57139f86f6b0ca\"", - "__X_HTTP_RESULT_INDEX": "13" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "nginx", - "Date": "Sat, 13 Nov 2021 14:15:58 GMT", - "Content-Type": "image/jpeg", - "Content-Length": "21967", - "Connection": "keep-alive", - "Cache-Control": "max-age=2592000", - "Last-Modified": "Fri, 02 Jul 2021 10:15:04 GMT", - "ETag": "\"841065529f1e89eabd0ef235a3d3291c\"", - "__X_HTTP_RESULT_INDEX": "14" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "nginx", - "Date": "Sat, 13 Nov 2021 14:15:58 GMT", - "Content-Type": "image/jpeg", - "Content-Length": "21670", - "Connection": "keep-alive", - "Cache-Control": "max-age=2592000", - "Last-Modified": "Tue, 19 Oct 2021 14:00:02 GMT", - "ETag": "\"21d4b2c21a3a2f26ba665670e8513940\"", - "__X_HTTP_RESULT_INDEX": "15" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Accept": "image/*", - "Accept-Encoding": "deflate, gzip", - "Connection": "Keep-Alive", - "Host": "occ-0-778-360.1.nflxso.net", - "Language": "en-ET,en", - "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", - "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", - "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590", - "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590", - "__X_HTTP_RESULT_INDEX": "16" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "nginx", - "Date": "Sat, 13 Nov 2021 14:15:58 GMT", - "Content-Type": "image/jpeg", - "Content-Length": "14215", - "Connection": "keep-alive", - "Cache-Control": "max-age=2592000", - "Last-Modified": "Thu, 11 Nov 2021 17:32:01 GMT", - "ETag": "\"837a2051f7d0f2899baf54ff20b3d9ad\"", - "__X_HTTP_RESULT_INDEX": "17" - }] +[ + { + "__X_HTTP_TUPLE4": "196.188.112.76.51494>23.246.50.149.80", + "__X_HTTP_RESULT_INDEX": "0" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Accept": "image/*", + "Accept-Encoding": "deflate, gzip", + "Connection": "Keep-Alive", + "Host": "occ-0-778-360.1.nflxso.net", + "Language": "en-ET,en", + "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", + "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", + "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392", + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABQSwLpJi-yDFZ7k9eqarY3x3-b99vNxxOt5xDeIOapZB6Y5QXPSa54b7cbWYTXYdFimDKCeJ4s7ngqpqByvtt0aLh85nSucLTcR3-OKleuNwVltHUscQhSgVfHc.jpg?r=392", + "__X_HTTP_RESULT_INDEX": "1" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Accept": "image/*", + "Accept-Encoding": "deflate, gzip", + "Connection": "Keep-Alive", + "Host": "occ-0-778-360.1.nflxso.net", + "Language": "en-ET,en", + "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", + "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", + "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e", + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABUWN8S1k3yM2coX2bwxbP699Jdr0BUqBRzIfiAJXKC5Ywt7DXqJOCjrBSYs36Tny8277IXm2BF_cgTmY18NJlocglKjhaoJhFeGoIg1cwntFduyxyRPP2EJQL5Y.jpg?r=e0e", + "__X_HTTP_RESULT_INDEX": "2" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Accept": "image/*", + "Accept-Encoding": "deflate, gzip", + "Connection": "Keep-Alive", + "Host": "occ-0-778-360.1.nflxso.net", + "Language": "en-ET,en", + "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", + "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7", + "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABR1YQS01SaHGzoxgWBJF1Gas0Gv9_DPebb4irdCTRjcQ_FUaVbXFTTrJ68_bvJds1sb28VMq22Qn3oSSKKJ7DdLN8ybgkJooYlCD3gAntrqgIFugqv5Z3kV8rRE.jpg?r=ec7", + "__X_HTTP_RESULT_INDEX": "3" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "nginx", + "Date": "Sat, 13 Nov 2021 14:15:58 GMT", + "Content-Type": "image/jpeg", + "Content-Length": "18377", + "Connection": "keep-alive", + "Cache-Control": "max-age=2592000", + "Last-Modified": "Wed, 10 Nov 2021 08:00:14 GMT", + "ETag": "\"c289a42885b30107ad119e2a6e405e4d\"", + "__X_HTTP_PAYLOAD_MD5": "c289a42885b30107ad119e2a6e405e4d", + "__X_HTTP_RESULT_INDEX": "4" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Accept": "image/*", + "Accept-Encoding": "deflate, gzip", + "Connection": "Keep-Alive", + "Host": "occ-0-778-360.1.nflxso.net", + "Language": "en-ET,en", + "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83", + "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", + "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABYo5IGwDn1LaWbeaa7amS0JhH3bU5MEVlcBsC4OK0mGbea97_xoi8EbqJt8_Zp0bMuuKPE80qUUjb4wq5po_lBtulA.jpg?r=c83", + "__X_HTTP_RESULT_INDEX": "5" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Accept": "image/*", + "Accept-Encoding": "deflate, gzip", + "Connection": "Keep-Alive", + "Host": "occ-0-778-360.1.nflxso.net", + "Language": "en-ET,en", + "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257", + "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", + "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABaYF3Rmi954cg6Afu9jOtirnvF3iIMHPZCCnP34eDeYQXfRGG9Vg0qgn7hHpMVV4jOr8OZmcD2Nb7MhQv6gl-fNmVQ.jpg?r=257", + "__X_HTTP_RESULT_INDEX": "6" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Accept": "image/*", + "Accept-Encoding": "deflate, gzip", + "Connection": "Keep-Alive", + "Host": "occ-0-778-360.1.nflxso.net", + "Language": "en-ET,en", + "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532", + "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", + "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABfC-ByjFJSfWZf7MFtjVl3ONnaQ69824xWP1l-cpAFGgAfaNFk4XR9uoHNWwnbG8N2UVDctVKz0a4Uyv0mEnC2kI9Q.jpg?r=532", + "__X_HTTP_RESULT_INDEX": "7" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Accept": "image/*", + "Accept-Encoding": "deflate, gzip", + "Connection": "Keep-Alive", + "Host": "occ-0-778-360.1.nflxso.net", + "Language": "en-ET,en", + "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa", + "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", + "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSyGFXaB0IqQ6VR92uKMi38mNtoz7eeWxDziAf9VYKfauhh5Qo7FnnCRb31ff6Ez9yTXsqRszsGuz0GA9FVDf_NLn-9F60IcUHm59J73eYX6BD0h4wLLK0Da6YM.jpg?r=aaa", + "__X_HTTP_RESULT_INDEX": "8" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Accept": "image/*", + "Accept-Encoding": "deflate, gzip", + "Connection": "Keep-Alive", + "Host": "occ-0-778-360.1.nflxso.net", + "Language": "en-ET,en", + "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723", + "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", + "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABZbHXQr7bRUpSQ2vQe8F8p3xODTJjUbSjEcLgQrFVyGsPgQT1GVhqGWFetJhebcGrVeZGOTmQ3qvHTe9eBRJdjFsVg.jpg?r=723", + "__X_HTTP_RESULT_INDEX": "9" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "nginx", + "Date": "Sat, 13 Nov 2021 14:15:58 GMT", + "Content-Type": "image/jpeg", + "Content-Length": "13488", + "Connection": "keep-alive", + "Cache-Control": "max-age=2592000", + "Last-Modified": "Mon, 08 Nov 2021 19:50:54 GMT", + "ETag": "\"35d56b6a0ef3b5857013f44620bd8888\"", + "__X_HTTP_PAYLOAD_MD5": "35d56b6a0ef3b5857013f44620bd8888", + "__X_HTTP_RESULT_INDEX": "10" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "nginx", + "Date": "Sat, 13 Nov 2021 14:15:58 GMT", + "Content-Type": "image/jpeg", + "Content-Length": "14129", + "Connection": "keep-alive", + "Cache-Control": "max-age=2592000", + "Last-Modified": "Tue, 26 Oct 2021 15:12:58 GMT", + "ETag": "\"bb83961ad5fe366dcbb5240ead69f650\"", + "__X_HTTP_PAYLOAD_MD5": "bb83961ad5fe366dcbb5240ead69f650", + "__X_HTTP_RESULT_INDEX": "11" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "nginx", + "Date": "Sat, 13 Nov 2021 14:15:58 GMT", + "Content-Type": "image/jpeg", + "Content-Length": "11493", + "Connection": "keep-alive", + "Cache-Control": "max-age=2592000", + "Last-Modified": "Thu, 04 Nov 2021 20:44:22 GMT", + "ETag": "\"c5be6a7137482da270bb2adc8d44a28d\"", + "__X_HTTP_PAYLOAD_MD5": "c5be6a7137482da270bb2adc8d44a28d", + "__X_HTTP_RESULT_INDEX": "12" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "nginx", + "Date": "Sat, 13 Nov 2021 14:15:58 GMT", + "Content-Type": "image/jpeg", + "Content-Length": "14219", + "Connection": "keep-alive", + "Cache-Control": "max-age=2592000", + "Last-Modified": "Sat, 25 Sep 2021 05:02:49 GMT", + "ETag": "\"61bec96775876749bb57139f86f6b0ca\"", + "__X_HTTP_PAYLOAD_MD5": "61bec96775876749bb57139f86f6b0ca", + "__X_HTTP_RESULT_INDEX": "13" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "nginx", + "Date": "Sat, 13 Nov 2021 14:15:58 GMT", + "Content-Type": "image/jpeg", + "Content-Length": "21967", + "Connection": "keep-alive", + "Cache-Control": "max-age=2592000", + "Last-Modified": "Fri, 02 Jul 2021 10:15:04 GMT", + "ETag": "\"841065529f1e89eabd0ef235a3d3291c\"", + "__X_HTTP_PAYLOAD_MD5": "841065529f1e89eabd0ef235a3d3291c", + "__X_HTTP_RESULT_INDEX": "14" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "nginx", + "Date": "Sat, 13 Nov 2021 14:15:58 GMT", + "Content-Type": "image/jpeg", + "Content-Length": "21670", + "Connection": "keep-alive", + "Cache-Control": "max-age=2592000", + "Last-Modified": "Tue, 19 Oct 2021 14:00:02 GMT", + "ETag": "\"21d4b2c21a3a2f26ba665670e8513940\"", + "__X_HTTP_PAYLOAD_MD5": "21d4b2c21a3a2f26ba665670e8513940", + "__X_HTTP_RESULT_INDEX": "15" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Accept": "image/*", + "Accept-Encoding": "deflate, gzip", + "Connection": "Keep-Alive", + "Host": "occ-0-778-360.1.nflxso.net", + "Language": "en-ET,en", + "Referer": "https://secure.netflix.com/us/tvui/ql/patch/20211109_18752/2/release/darwinBootstrap.js?getMainUrlFromCodex=true&taskDefaultTimeoutV2=120000&bootloader_trace=apiusernotnull__false&nq=true&nq_control_tag=tvui-main&startup_key=e38d3c70814421931b0189d91d872546326f05d8f470150d07340df9e9d72275&device_type=TCL-TVS88L&e=TCL-TVS88L0000000000000000342914&env=prod&fromNM=true&nm_prefetch=true&nrdapp_version=2015.1.1&plain=true&dh=720&dw=1280&dar=16_9®=undefined&authType=login&authclid=845becf0-992c-46f7-a938-1bc22b097c58&q=source_type%3D1%26additionalDataUrl%3Dhttp%253A%252F%252Flocalhost%253A56789%252Fapps%252FNetflix%252Fdial_data%26source_type_payload%3D", + "User-Agent": "Gibbon/2015.1.1/2015.1.1: Netflix/2015.1.1 (DEVTYPE=TCL-TVS88L; CERTVER=1)", + "__X_HTTP_URL": "occ-0-778-360.1.nflxso.net/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590", + "X-Gibbon-Cache-Control": "max-age=2592000, priority=4, key=/dnm/api/v6/Da_vleYcahiCE7JMYt8LJRyoenc/AAAABSFXjTUaVrddq_nehO4yuLziSjuekxJuv3oEsyUpmt3oK3InJcXjtZUHrBBuu0EP05WRC8wFVe78VtxtW_ZuZQ65MIcApb0oZF4JoFlHHnv363RbgJn898Q4tQc.jpg?r=590", + "__X_HTTP_RESULT_INDEX": "16" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "nginx", + "Date": "Sat, 13 Nov 2021 14:15:58 GMT", + "Content-Type": "image/jpeg", + "Content-Length": "14215", + "Connection": "keep-alive", + "Cache-Control": "max-age=2592000", + "Last-Modified": "Thu, 11 Nov 2021 17:32:01 GMT", + "ETag": "\"837a2051f7d0f2899baf54ff20b3d9ad\"", + "__X_HTTP_PAYLOAD_MD5": "f18a76ecf35648cb46ea6f42e4391cb8", + "__X_HTTP_RESULT_INDEX": "17" + } +]
\ No newline at end of file diff --git a/test/test_result_json/http_hdr_truncated_in_kv.json b/test/test_result_json/http_hdr_truncated_in_kv.json index f123f6d..966572e 100644 --- a/test/test_result_json/http_hdr_truncated_in_kv.json +++ b/test/test_result_json/http_hdr_truncated_in_kv.json @@ -48,6 +48,7 @@ "X-Robots-Tag4": "noindex, nofollow", "Report-To": "{ \"url\": \"https://pxl.tsyndicate.com/api/v1/heavy-ad/report\", \"max_age\": 86401 }", "Content-Encoding": "gzip", + "__X_HTTP_PAYLOAD_MD5": "075802aa31b42d465d56b213915fb0a2", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_hdr_value_empty.json b/test/test_result_json/http_hdr_value_empty.json index aface09..2d7483d 100644 --- a/test/test_result_json/http_hdr_value_empty.json +++ b/test/test_result_json/http_hdr_value_empty.json @@ -16,6 +16,7 @@ "Date": "Sat Sep 7 10:04:57 2019", "Content-Length": "468", "__X_HTTP_URL": "http://:4445/RPC2", + "__X_HTTP_PAYLOAD_MD5": "033e27f72bc41b4a7e222df464749420", "__X_HTTP_RESULT_INDEX": "1" }, { @@ -30,6 +31,7 @@ "Transfer-Encoding": "chunked", "X-Powered-By": "ulxmlrpcpp/1.7.4", "Date": "Sat Sep 7 01:09:08 2019", + "__X_HTTP_PAYLOAD_MD5": "69db29507d10b0d57fcaa5afffd81934", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_hdrs_exceed_maximum.json b/test/test_result_json/http_hdrs_exceed_maximum.json index 09b7311..105588e 100644 --- a/test/test_result_json/http_hdrs_exceed_maximum.json +++ b/test/test_result_json/http_hdrs_exceed_maximum.json @@ -42,5 +42,6 @@ "Keep-Alive": "timeout=15", "Connection": "Keep-Alive", "Content-Type": "image/gif", + "__X_HTTP_PAYLOAD_MD5": "ad480fd0732d0f6f1a8b06359e3a42bb", "__X_HTTP_RESULT_INDEX": "2" }] diff --git a/test/test_result_json/http_multi_parse_error.json b/test/test_result_json/http_multi_parse_error.json index 8111a6f..d50c449 100644 --- a/test/test_result_json/http_multi_parse_error.json +++ b/test/test_result_json/http_multi_parse_error.json @@ -16,6 +16,7 @@ "Date": "Sat Sep 7 10:05:13 2019", "Content-Length": "468", "__X_HTTP_URL": "http://:4445/RPC2", + "__X_HTTP_PAYLOAD_MD5": "6eccbcf261f04aabfa69884aa283f4f3", "__X_HTTP_RESULT_INDEX": "1" }, { @@ -30,6 +31,7 @@ "Transfer-Encoding": "chunked", "X-Powered-By": "ulxmlrpcpp/1.7.4", "Date": "Sat Sep 7 01:09:24 2019", + "__X_HTTP_PAYLOAD_MD5": "5cf8a4aa9a54e7f2d05b55ed05bf9071", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_no_content_length.json b/test/test_result_json/http_no_content_length.json index 93ca066..04d4ad4 100644 --- a/test/test_result_json/http_no_content_length.json +++ b/test/test_result_json/http_no_content_length.json @@ -40,6 +40,7 @@ "P3P": "policyref=\"/w3c/p3p.xml\", CP=\"ALL IND DSP COR ADM CONo CUR IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI\"", "Set-Cookie": "trafic_ranking=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; expires=Sun, 11-Jan-2037 14:00:00 GMT; path=/; domain=.xxxxxx.xx", "connection": "close", + "__X_HTTP_PAYLOAD_MD5": "9fb54a2726ca3cf54a82804d0e66d08a", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_over_pppoe.json b/test/test_result_json/http_over_pppoe.json index 23856ca..c2ff274 100644 --- a/test/test_result_json/http_over_pppoe.json +++ b/test/test_result_json/http_over_pppoe.json @@ -30,6 +30,7 @@ "X-RTFM": "Learn about this site at http://bit.ly/14DAh2o and don't abuse the service", "X-YOU-SHOULD-APPLY-FOR-A-JOB": "If you're reading this, apply here: http://rackertalent.com/", "X-ICANHAZNODE": "icanhazip1.nugget", + "__X_HTTP_PAYLOAD_MD5": "624520ac54235ac2284ed2dd2b17e1ad", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_over_tcp_keepalive.json b/test/test_result_json/http_over_tcp_keepalive.json index 1481cb7..2231a2d 100644 --- a/test/test_result_json/http_over_tcp_keepalive.json +++ b/test/test_result_json/http_over_tcp_keepalive.json @@ -1,40 +1,45 @@ -[{ - "__X_HTTP_TUPLE4": "192.168.56.66.55356>60.190.243.167.80", - "__X_HTTP_RESULT_INDEX": "0" - }, { - "__X_HTTP_TRANSACTION": "request", - "method": "GET", - "uri": "/", - "req_version": "1.1", - "major_version": 1, - "minor_version": 1, - "Host": "www.yumi.com", - "Connection": "keep-alive", - "Cache-Control": "max-age=0", - "Upgrade-Insecure-Requests": "1", - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36", - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", - "Accept-Encoding": "gzip, deflate", - "Accept-Language": "zh-CN,zh;q=0.9", - "Cookie": "UM_distinctid=17d37645f9c1a1-0281befa480414-b7a1a38-144000-17d37645f9d336; CNZZDATA1258295942=1778021578-1637307701-%7C1637307701; Hm_lvt_a6dc86f6e27435039966e994bd7f0792=1637311872; yumi_sid=JaMlFyTA07ikpZjTHZsRTWyGdMqFyFy%2B4hXGj%2FSoQRJYbrfBUQuOTIMZ8jUGmugDC594AYcbeRhg75xidhRxCW4zq9Y0gPwTmkhq4LQuprp4DrtDMLI3L5wLMqkG%2FuAX1aVFPfud5GRNxNFTSp%2Bos%2FKhfCFKhfN5%2BuT2xyVYSAjy2ftiSOGDi7FN13icuuyPhFCoWqOxWVu1CZ3AiYPJssv6kXqiR6paf75icdeROZY2bkFCDKkcIQcPy7o9EKpkL1Mbimeb40JMg9hUsWdmyhDkzVjSHJmC4z2ujpzSDTsjRIQOnxTy1PHZi%2FMwg3uyGLCusDwqbagpO4pcgEJ5ONDy%2BGwO7FmHXU3mFfR56c9HxxiiuLPnBt9ErpqqWKsxH6lUrlHaUp6AzyrgX7PFdksiMfPSk6%2F3%2FWOYr%2FkYuI4fopw7z8%2FLhxC9AiLr9Czz3MngFUGzkmaMVvAhZOSPzg%3D%3D; Hm_lpvt_a6dc86f6e27435039966e994bd7f0792=1637313847", - "__X_HTTP_URL": "www.yumi.com/", - "__X_HTTP_RESULT_INDEX": "1" - }, { - "__X_HTTP_TRANSACTION": "response", - "res_version": "1.1", - "res_status": "OK", - "major_version": 1, - "minor_version": 1, - "status_code": 200, - "Server": "Tengine", - "Date": "Fri, 19 Nov 2021 09:57:40 GMT", - "Content-Type": "text/html", - "Transfer-Encoding": "chunked", - "Connection": "keep-alive", - "Vary": "Accept-Encoding", - "Set-Cookie": "yumi_sid=V6EhlyovLp46BBzQWLVOBg%2F73RUD5E%2FfaRlkR8RLa8aKhGrPVdVHvHfFWRKKd9wZ%2BfFF4Tb2wnVOOn%2F9iXbBpyHsbxjmUqnbFSoAX7QIJjt%2BEEjAL3M7O7VSpAyMnrFKt7qu46oXV%2B6teyyTUY7Ucy285v6otvZcu8bN%2B5YxKZ1gYh56iJ0bHxnrnQ0vvAx3l%2BLwfw2y0c5IaF2tjrL%2Fn83nrHsPoYYRWAR2zLIXD%2FEMKRtyerwsM5LKhZZteFGWD2w%2B15alKF5T65i0lPvPcAdaqpceL5xz23twQULhs1tIJsOfJZ8JudLlRy6x3DvxQYqRe2xTCex5c77zJqfq%2FdryNbBycIq9gf6C2hXDRwDqRqVgXDMadwGnooKFkv%2ByCbohjHyBCZJypBcYFmglYhin23UC9i%2B%2BOA%2FxhlxcnU8kT8udpTNCktSmF950SQLOmvdvYuXGydKs8v05cxe5fg%3D%3D; expires=Fri, 19-Nov-2021 11:57:38 GMT; Max-Age=7200; path=/; domain=.yumi.com", - "Pragma": "no-cache", - "Cache-Control": "no-store", - "Content-Encoding": "gzip", - "__X_HTTP_RESULT_INDEX": "2" - }] +[ + { + "__X_HTTP_TUPLE4": "192.168.56.66.55356>60.190.243.167.80", + "__X_HTTP_RESULT_INDEX": "0" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "GET", + "uri": "/", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Host": "www.yumi.com", + "Connection": "keep-alive", + "Cache-Control": "max-age=0", + "Upgrade-Insecure-Requests": "1", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36", + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", + "Accept-Encoding": "gzip, deflate", + "Accept-Language": "zh-CN,zh;q=0.9", + "Cookie": "UM_distinctid=17d37645f9c1a1-0281befa480414-b7a1a38-144000-17d37645f9d336; CNZZDATA1258295942=1778021578-1637307701-%7C1637307701; Hm_lvt_a6dc86f6e27435039966e994bd7f0792=1637311872; yumi_sid=JaMlFyTA07ikpZjTHZsRTWyGdMqFyFy%2B4hXGj%2FSoQRJYbrfBUQuOTIMZ8jUGmugDC594AYcbeRhg75xidhRxCW4zq9Y0gPwTmkhq4LQuprp4DrtDMLI3L5wLMqkG%2FuAX1aVFPfud5GRNxNFTSp%2Bos%2FKhfCFKhfN5%2BuT2xyVYSAjy2ftiSOGDi7FN13icuuyPhFCoWqOxWVu1CZ3AiYPJssv6kXqiR6paf75icdeROZY2bkFCDKkcIQcPy7o9EKpkL1Mbimeb40JMg9hUsWdmyhDkzVjSHJmC4z2ujpzSDTsjRIQOnxTy1PHZi%2FMwg3uyGLCusDwqbagpO4pcgEJ5ONDy%2BGwO7FmHXU3mFfR56c9HxxiiuLPnBt9ErpqqWKsxH6lUrlHaUp6AzyrgX7PFdksiMfPSk6%2F3%2FWOYr%2FkYuI4fopw7z8%2FLhxC9AiLr9Czz3MngFUGzkmaMVvAhZOSPzg%3D%3D; Hm_lpvt_a6dc86f6e27435039966e994bd7f0792=1637313847", + "__X_HTTP_URL": "www.yumi.com/", + "__X_HTTP_RESULT_INDEX": "1" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.1", + "res_status": "OK", + "major_version": 1, + "minor_version": 1, + "status_code": 200, + "Server": "Tengine", + "Date": "Fri, 19 Nov 2021 09:57:40 GMT", + "Content-Type": "text/html", + "Transfer-Encoding": "chunked", + "Connection": "keep-alive", + "Vary": "Accept-Encoding", + "Set-Cookie": "yumi_sid=V6EhlyovLp46BBzQWLVOBg%2F73RUD5E%2FfaRlkR8RLa8aKhGrPVdVHvHfFWRKKd9wZ%2BfFF4Tb2wnVOOn%2F9iXbBpyHsbxjmUqnbFSoAX7QIJjt%2BEEjAL3M7O7VSpAyMnrFKt7qu46oXV%2B6teyyTUY7Ucy285v6otvZcu8bN%2B5YxKZ1gYh56iJ0bHxnrnQ0vvAx3l%2BLwfw2y0c5IaF2tjrL%2Fn83nrHsPoYYRWAR2zLIXD%2FEMKRtyerwsM5LKhZZteFGWD2w%2B15alKF5T65i0lPvPcAdaqpceL5xz23twQULhs1tIJsOfJZ8JudLlRy6x3DvxQYqRe2xTCex5c77zJqfq%2FdryNbBycIq9gf6C2hXDRwDqRqVgXDMadwGnooKFkv%2ByCbohjHyBCZJypBcYFmglYhin23UC9i%2B%2BOA%2FxhlxcnU8kT8udpTNCktSmF950SQLOmvdvYuXGydKs8v05cxe5fg%3D%3D; expires=Fri, 19-Nov-2021 11:57:38 GMT; Max-Age=7200; path=/; domain=.yumi.com", + "Pragma": "no-cache", + "Cache-Control": "no-store", + "Content-Encoding": "gzip", + "__X_HTTP_PAYLOAD_MD5": "af9b1a0118edd2920db355f9eee4ab75", + "__X_HTTP_RESULT_INDEX": "2" + } +]
\ No newline at end of file diff --git a/test/test_result_json/http_post_multipart_form_data.json b/test/test_result_json/http_post_multipart_form_data.json index 3e761dd..68622f1 100644 --- a/test/test_result_json/http_post_multipart_form_data.json +++ b/test/test_result_json/http_post_multipart_form_data.json @@ -31,6 +31,7 @@ "Content-Type": "text/html;charset=UTF-8", "Content-Length": "468", "Date": "Thu, 28 Mar 2019 08:13:33 GMT", + "__X_HTTP_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc", "__X_HTTP_RESULT_INDEX": "2" }, { @@ -61,6 +62,7 @@ "Content-Type": "text/html;charset=UTF-8", "Content-Length": "468", "Date": "Thu, 28 Mar 2019 08:13:33 GMT", + "__X_HTTP_PAYLOAD_MD5": "2b8cd757ab5ffba85acac26c008a1ffc", "__X_HTTP_RESULT_INDEX": "4" }, { @@ -83,6 +85,7 @@ "Accept-Language": "zh-CN,zh;q=0.8", "Cookie": "JSESSIONID=969AC5FBD069EE6218EB10513726B244; JSESSIONID=400CC78DF5784F303702CC7F02C6122C", "__X_HTTP_URL": "192.168.57.14:8080/fileupload/servlet/UploadHandleServlet", + "__X_HTTP_PAYLOAD_MD5": "550be33bf0ac01b6f7ac175bb8f4522a", "__X_HTTP_RESULT_INDEX": "5" }, { @@ -96,6 +99,7 @@ "Content-Type": "text/html;charset=UTF-8", "Content-Length": "144", "Date": "Thu, 28 Mar 2019 08:13:37 GMT", + "__X_HTTP_PAYLOAD_MD5": "3fa07f3ec9f9fefed96e9886f80760bb", "__X_HTTP_RESULT_INDEX": "6" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_post_single_trans.json b/test/test_result_json/http_post_single_trans.json new file mode 100644 index 0000000..7880736 --- /dev/null +++ b/test/test_result_json/http_post_single_trans.json @@ -0,0 +1,39 @@ +[ + { + "__X_HTTP_TUPLE4": "192.168.38.83.55186>192.168.40.139.8080", + "__X_HTTP_RESULT_INDEX": "0" + }, + { + "__X_HTTP_TRANSACTION": "request", + "method": "POST", + "uri": "/", + "req_version": "1.1", + "major_version": 1, + "minor_version": 1, + "Content-Type": "application/json", + "User-Agent": "PostmanRuntime/7.37.3", + "Accept": "*/*", + "Cache-Control": "no-cache", + "Postman-Token": "71a004ad-901b-4461-ac3c-db9adb303c47", + "Host": "192.168.40.139:8080", + "Accept-Encoding": "gzip, deflate, br", + "Connection": "keep-alive", + "Content-Length": "26", + "__X_HTTP_URL": "192.168.40.139:8080/", + "__X_HTTP_PAYLOAD_MD5": "5ffe2871e6d5f6ee25ad7c1bfdd9f7b3", + "__X_HTTP_RESULT_INDEX": "1" + }, + { + "__X_HTTP_TRANSACTION": "response", + "res_version": "1.0", + "res_status": "OK", + "major_version": 1, + "minor_version": 0, + "status_code": 200, + "Server": "BaseHTTP/0.6 Python/3.6.8", + "Date": "Mon, 08 Apr 2024 07:19:16 GMT", + "Content-length": "84", + "__X_HTTP_PAYLOAD_MD5": "cd8a54dd3e915946c4df262111e5aa05", + "__X_HTTP_RESULT_INDEX": "2" + } +]
\ No newline at end of file diff --git a/test/test_result_json/http_req_1byte_sliding_window.json b/test/test_result_json/http_req_1byte_sliding_window.json index c295389..f027d71 100644 --- a/test/test_result_json/http_req_1byte_sliding_window.json +++ b/test/test_result_json/http_req_1byte_sliding_window.json @@ -29,6 +29,7 @@ "Content-type": "text/html", "Content-Length": "144", "Last-Modified": "Fri, 29 Dec 2023 08:50:53 GMT", + "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_res_1byte_sliding_window.json b/test/test_result_json/http_res_1byte_sliding_window.json index 60b756d..adf86ca 100644 --- a/test/test_result_json/http_res_1byte_sliding_window.json +++ b/test/test_result_json/http_res_1byte_sliding_window.json @@ -29,6 +29,7 @@ "Content-type": "text/html", "Content-Length": "144", "Last-Modified": "Fri, 29 Dec 2023 08:50:53 GMT", + "__X_HTTP_PAYLOAD_MD5": "3e11876cd3a234541ae37d833c088a76", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_res_gzip.json b/test/test_result_json/http_res_gzip.json index 357dbe9..fe2e621 100644 --- a/test/test_result_json/http_res_gzip.json +++ b/test/test_result_json/http_res_gzip.json @@ -39,6 +39,7 @@ "Content-Length": "92", "Connection": "close", "Content-Type": "text/html; charset=UTF-8", + "__X_HTTP_PAYLOAD_MD5": "61b9e97f96045587bb55db781f7543ad", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_trans_pipeline.json b/test/test_result_json/http_trans_pipeline.json index c9b5d37..94ffec8 100644 --- a/test/test_result_json/http_trans_pipeline.json +++ b/test/test_result_json/http_trans_pipeline.json @@ -106,6 +106,7 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", + "__X_HTTP_PAYLOAD_MD5": "32dc0b2772bd73a952abba009291a399", "__X_HTTP_RESULT_INDEX": "8" }, { @@ -120,6 +121,7 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", + "__X_HTTP_PAYLOAD_MD5": "db2ff8008149d8e70d8a2929acbb0f56", "__X_HTTP_RESULT_INDEX": "9" }, { @@ -134,6 +136,7 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", + "__X_HTTP_PAYLOAD_MD5": "f5df152f7d8f34c630f298d2fcb46ed3", "__X_HTTP_RESULT_INDEX": "10" }, { @@ -148,6 +151,7 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", + "__X_HTTP_PAYLOAD_MD5": "73e98ca7b62764869357b3e3c40dcd68", "__X_HTTP_RESULT_INDEX": "11" }, { @@ -162,6 +166,7 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", + "__X_HTTP_PAYLOAD_MD5": "a5733c8989bde7f08506fa68c20f0c62", "__X_HTTP_RESULT_INDEX": "12" }, { @@ -280,6 +285,7 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", + "__X_HTTP_PAYLOAD_MD5": "4bc0dde3722f76d60fef6f1d878cbb14", "__X_HTTP_RESULT_INDEX": "21" }, { @@ -294,6 +300,7 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", + "__X_HTTP_PAYLOAD_MD5": "728dc2eafd49c9be8149add7c6aff207", "__X_HTTP_RESULT_INDEX": "22" }, { @@ -308,6 +315,7 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", + "__X_HTTP_PAYLOAD_MD5": "0cde98e33181ee0ded49e8d0a3178d55", "__X_HTTP_RESULT_INDEX": "23" }, { @@ -322,6 +330,7 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", + "__X_HTTP_PAYLOAD_MD5": "d627268e0aba817d818b6e2b7e41aa11", "__X_HTTP_RESULT_INDEX": "24" }, { @@ -336,6 +345,7 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", + "__X_HTTP_PAYLOAD_MD5": "e99d9829d50bd94b3497b91011f6e349", "__X_HTTP_RESULT_INDEX": "25" }, { @@ -363,6 +373,7 @@ "Content-Type": "text/html", "Content-Length": "146", "Connection": "keep-alive", + "__X_HTTP_PAYLOAD_MD5": "99a813d29c5da4e6f7269be4c1a31c8e", "__X_HTTP_RESULT_INDEX": "27" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_tunnel_for_pop3.json b/test/test_result_json/http_tunnel_for_pop3.json index 7956a50..d12889c 100644 --- a/test/test_result_json/http_tunnel_for_pop3.json +++ b/test/test_result_json/http_tunnel_for_pop3.json @@ -28,6 +28,7 @@ "minor_version": 1, "status_code": 200, "Proxy-agent": "CCProxy", + "__X_HTTP_PAYLOAD_MD5": "3d51846928a2dcf7a6c06e68b2b85105", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_url_test_with_host.json b/test/test_result_json/http_url_test_with_host.json index a7fe660..1af82cf 100644 --- a/test/test_result_json/http_url_test_with_host.json +++ b/test/test_result_json/http_url_test_with_host.json @@ -30,6 +30,7 @@ "Server": "BaseHTTP/0.6 Python/3.6.8", "Date": "Thu, 14 Mar 2024 07:37:43 GMT", "Content-type": "application/json", + "__X_HTTP_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file diff --git a/test/test_result_json/http_url_test_without_host.json b/test/test_result_json/http_url_test_without_host.json index 9c91498..cb448f9 100644 --- a/test/test_result_json/http_url_test_without_host.json +++ b/test/test_result_json/http_url_test_without_host.json @@ -24,6 +24,7 @@ "Server": "BaseHTTP/0.6 Python/3.6.8", "Date": "Thu, 14 Mar 2024 06:15:20 GMT", "Content-type": "application/json", + "__X_HTTP_PAYLOAD_MD5": "49dfdd54b01cbcd2d2ab5e9e5ee6b9b9", "__X_HTTP_RESULT_INDEX": "2" } ]
\ No newline at end of file |
