require 'base64'
# require 'uri'
pkt_data = "ZPadtTVHDMR6UKQqCABFAANHP+tAAH4GjwAKWLe5ZHQEQDBoH5ioQihss/YWGFAYA/9BwAAAUE9TVCAvZy9oc3hvbmUub21jL3Yvc3VibWl0TG9naW4gSFRUUC8xLjENCkhvc3Q6IDEwMC4xMTYuNC42NDo4MDg4DQpDb25uZWN0aW9uOiBrZWVwLWFsaXZlDQpDb250ZW50LUxlbmd0aDogMTY2DQpBY2NlcHQ6IGFwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW4sICovKg0KVXNlci1BZ2VudDogTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEwOS4wLjAuMCBTYWZhcmkvNTM3LjM2DQpDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZA0KT3JpZ2luOiBodHRwOi8vMTAwLjExNi40LjY0OjgwODgNClJlZmVyZXI6IGh0dHA6Ly8xMDAuMTE2LjQuNjQ6ODA4OC9oc3dlYWx0aC13ZWIvbG9naW4NCkFjY2VwdC1FbmNvZGluZzogZ3ppcCwgZGVmbGF0ZQ0KQWNjZXB0LUxhbmd1YWdlOiB6aC1DTix6aDtxPTAuOQ0KQ29va2llOiBzaG93SGlkZVRyZWU9ZmFsc2U7IEpTRVNTSU9OSUQ9RkIwN0Q4MzU5MDg2MjY4M0QwMERBMDA5RjIwODZBMTE7IHNob3dDYXJkQ2hhbmdlVGlwRmlyc3Q9ZmFsc2U7IHRva2VuPWZhYzY3YzViLTQ5ZGItNGNiOS05OWEzLTIzZjdmM2FhNDI0MjYNCg0Kb3BlcmF0b3JfY29kZT0zNzhGOEIzNTkwNENGNDVFRTYxRkJBQjU5QUU2NkRDQSZwYXNzd29yZD1ENUE0N0MyQjZDM0Y2MUEyQkIwQzM1MTUzOTlBMTMzRCZ0ZW5hbnRfaWQ9JmtpbmRfY29kZT0mdmVyaWZ5X2NvZGU9JnV1aWQ9JmVtYWlsX3ZlcmlmaWNhdGlvbl9jb2RlPSZtYWM9T01DX1dFQg=="
# pkt_data = "DMR6UKQqAAkPCQAECABFAAA9AytAADsG+fdkdA9NCljEfwAW5lUK+4UwNJPXhVAYchC0tQAAU1NILTIuMC1PcGVuU1NIXzcuNA0K"
pkt_decode = Base64.decode64(pkt_data).gsub(/[^[:print:]\r\n]/ , '')
print(pkt_decode)
print("\n")
if pkt_decode =~ ["*HTTP/*"]
print("HTTP 协议\n")
request = pkt_decode.split(/\r\n/)[0]
method, path, http_version = request.split(" ")[1..-1]
# query_string = URI(path).query
# query_params = query_string ? URI.decode_www_form(query_string) : []
headers = {}
pkt_decode.split(/\r\n\r\n/)[0].split(/\r\n/)[1..-1].each do |header|
name, value = header.split(": ")
headers[name.downcase] = value
end
# print(request)
# print("\n")
# print(method)
# print("\n")
# print(path)
# print("\n")
# print(http_version)
# print(query_string)
# print(headers)
# print("\n=============\n")
print(headers)
end