Name

url — specifies URL address for retrieval

synopsis

                    <url 
                    [ method="{ GET | POST | HEAD }" ] 
                    [ payload="STRING" ] 
                    [ payloadparam="STRING" ] 
                    [ payloadparamcount="INTEGER" ] 
                    [ payloadtemplate="STRING" ] 
                    [ responsename="STRING" ] 
                    [ responsetemplate="STRING" ] 
                    [ responsescript="STRING" ] 
                    [ requesttemplate="STRING" ] 
                    [ requestparamcount="INTEGER" ] 
                    [ predelay="INTEGER" ] 
                    [ predelayprecision="INTEGER" ] 
                    [ postdelay="INTEGER" ] 
                    [ postdelayprecision="INTEGER" ] 
                    [ user="STRING" ] 
                    [ password="STRING" ]
                    [ Content-Type="STRING" ]> [ STRING</url> ]
                

parent elements

                    <urllist>
                

children elements

none.

attributes

nametypedescriptiondefault value
methodSTRING This attribute specifies HTTP method used in request. Valid values include: GET, POST, HEAD. GET
payloadSTRING This attribute specifies POST request body. Contents of this attribute are sent raw as POST request body, so they need to be properly encoded. (empty)
payloadparamSTRING No information available at this time (empty)
payloadparamcountINTEGER No information available at this time 0
payloadtemplateSTRING This attribute holds POST request body, that will be searched for variables. Every variable found will be expanded to it's value. (empty)
responsenameSTRING This attribute sets the name of variable, that will be created upon successful match of responsetemplate. (empty)
responsetemplateSTRING This attribute holds regular expression that will be matched against response. If successful, resulting string will be placed in newly created variable, whose name is determined by responsename attribute. (empty)
responsescriptSTRING This attribute holds path to executable script, that will be used in response postprocessing. Such script schould read standard input, which will contain server response (both HTTP headers and response body). Script exit value of 0 means success, while any other value means error. (empty)
requesttemplateSTRING This attribute holds the URL address, that will be searched for variables. Every variable found will be expanded to it's value. Presence of this attribute makes url an empty element, becasue content of this attribute is used as request URL. (empty)
requestparamcountINTEGER No information available at this time 0
predelayINTEGER No information available at this time 0
predelayprecisionINTEGER No information available at this time 0
postdelayINTEGER No information available at this time 0
postdelayprecisionINTEGER No information available at this time 0
userSTRING This attribute holds username for auth (401 header). (empty)
passwordSTRING This attribute holds password for auth (401 header). (empty)
Content-TypeSTRING This attribute (when present) overrides default Content-Type header which is 'application/x-www-form-urlencoded'. (empty)

character data

none | specifies URL address for retrieval.

description

This element is the basic data unit of flood. It contains detailed description of url address scheduled for retrieval. You can specify how to perform request (method, optional payload) and how to postprocess response.

Note

When using responsescript attribute, please keep in mind, that the execution time of script might distort overall results. In addition, please add following element to your profile:

<recv_resp>generic_fullresp_recv_resp</recv_resp>
                

This wil cause flood to fetch whole response every time. Without such element flood could sometimes retrieve only first chunk of data, which just isn't enough for valid postprocessing.

examples

   <urllist>
      <name>check release</name>
      <url responsename="filename" responsetemplate="href=(.*)">http://www.example.com/downloads/</url>
      <url requesttemplate="http://www.example.com/files/${filename}" requestparamcount="1"/>
      <!-- ... -->
   </urllist>