Forum Discussion

chenchiiren_213's avatar
chenchiiren_213
Icon for Nimbostratus rankNimbostratus
May 13, 2017

HTTP Payload Log

I want to analyze http response content. So, i wrote an irule code as below:

 

when HTTP_REQUEST {
  set replace_content 1    
  HTTP::header remove "Accept-Encoding"
  if { [HTTP::version] eq "1.1" } {
    if { [HTTP::header is_keepalive] } {
      HTTP::header replace "Connection" "Keep-Alive"
    }
    HTTP::version "1.0"
  }
}

when HTTP_RESPONSE {
if {$replace_content equals "1"} {   
  if {[HTTP::header exists "Content-Length"] && [HTTP::header "Content-Length"] <= 1048576}{
    set content_length [HTTP::header "Content-Length"]
  } else {
      set content_length 1048576
  }
   Check if $content_length is not set to 0
  if { $content_length > 0} {
    HTTP::collect $content_length
  }
}
}

when HTTP_RESPONSE_DATA {
  if {$replace_content equals "1"} {
  set payload  [HTTP::payload]
  log $payload
  }
}

 

But payload log as the image, how fix it ~

1 Reply

  • I would save the HTTP:uri in the HTTP_REQUEST event to a variable and use it in the HTTP_RESPONSE event to skip logging the payload if the uri matches an image file extension.