编辑代码


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