C.42 HttpRequestTask

This task will make an HTTP request to the provided URL and match the response against the provided regular expression. If an regular expression is provided and doesn't match the build will fail. You need an installed version of HTTP_Request2 to use this task.

Table C.45: Attributes

NameTypeDescriptionDefaultRequired
urlStringThe request URLn/aYes
responseRegexStringThe regular expression for matching the responsen/aNo
authUserStringThe authentication user namen/aNo
authPasswordStringThe authentication passwordn/aNo
authSchemeStringThe authentication schemebasicNo
verboseBooleanWhether to enable detailed loggingfalseNo
observerEventsStringComma-separated list of events to log when verbose is set to trueconnect, sentHeaders, sentBodyPart, receivedHeaders, receivedBody, disconnectNo
methodStringThe HTTP method of the request, currently only GET or POST supportedGETNo

C.42.1 Example

<http-request url="http://my-production.example.com/check-deployment.php"/>

Just perform a HTTP request to the given URL.

<http-request
   url="http://my-production.example.com/check-deployment.php"
   responseRegex="/Heartbeat/"
   verbose"true"
   observerEvents="connect, disconnect"/>

Perform a HTTP request to the given URL and matching the response against the given regex pattern. Enable detailed logging and log only the specified events.

<http-request url="http://my-production.example.com/check-deployment.php">
   <config name="adapter" value="HTTP_Request2_Adapter_Curl"/>
   <header name="user-agent" value="Phing HttpRequestTask"/>
 </http-request>

Perform a HTTP request to the given URL. Setting request adapter to curl instead of socket. Setting an additional header.

<http-request
            url="http://my-production.example.com/check-deployment.php"
            verbose"true"
            method="POST">
              <postparameter name="param1" value="value1" />
              <postparameter name="param2" value="value2" />
            </http-request>
          

Perform an HTTP POST request to the given URL. Setting POST request parameters to emulate form submission.

C.42.2 Supported Nested Tags

  • config

    Holds additional config data. See HTTP_Request2 documentation for supported values.

    Table C.46: Attributes

    NameTypeDescriptionDefaultRequired
    nameStringConfig parameter namen/aYes
    valueMixedConfig valuen/aYes

  • header

    Holds additional header name and value.

    Table C.47: Attributes

    NameTypeDescriptionDefaultRequired
    nameStringHeader namen/aYes
    valueStringHeader valuen/aYes

  • postparameter

    Used when performing a POST request. Contains name and value of a form field.

    Table C.48: Attributes

    NameTypeDescriptionDefaultRequired
    nameStringField namen/aYes
    valueStringField valuen/aYes

C.42.3 Global configuration

In addition to configuring a particular instance of HTTP_Request2 via nested <config> tags it is also possible to set default configuration values for HttpGetTask / HttpRequestTask by setting phing.http.* properties.

<property name="phing.http.proxy" value="socks5://localhost:1080/"/>
<!-- This request will go through the default proxy -->
<http-request url="http://example.com/foo"/>
<http-request url="http://example.org/restricted" dir="./">
    <!-- This proxy will be used instead of the default one -->
    <config name="proxy" value="http://foo:[email protected]:3128/"/>
</http-request>