Learn R Programming

RCurl (version 0.3-0)

curlPerform: Perform the HTTP query

Description

This function causes the HTTP query, that has been specified via the different options, to be sent and processed. Unlike in curl itself, one can specify all the options in this call as an atomic invocation. This avoids having to set the options and then perform the action. Instead, this is all done in one call.

Usage

curlPerform(..., .opts = list(), curl = getCurlHandle())

Arguments

curl
the CURLHandle object giving the structure for the options and that will process the command.
...
a named list of curl options to set after the handle has been created.
.opts
a named list or CURLOptions object identifying the curl options for the handle.

Value

  • A integer value indicating the status of the request. This should be 0 as other errors will generate errors.

References

Curl homepage http://curl.haxx.se

See Also

getURL postForm getForm curlSetOpt

Examples

Run this code
h = basicTextGatherer()
  curlPerform(url="http://www.omegahat.org/RCurl", writefunction = h$update)
   # Now read the text that was cumulated during the query response.
  h$value()


  # SOAP request
body = '<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
                   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
                   xmlns:xsd="http://www.w3.org/1999/XMLSchema" 
                   xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 
                   xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">
  <SOAP-ENV:Body>
       <namesp1:hi xmlns:namesp1="http://www.soaplite.com/Demo"/>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
'


  h$reset()
curlPerform(url="http://services.soaplite.com/hibye.cgi",
            httpheader=c(Accept="text/xml", Accept="multipart/*", SOAPAction='"http://www.soaplite.com/Demo#hi"',
                         'Content-Type' = "text/xml; charset=utf-8"),
            postfields=body,
            writefunction = h$update,
            verbose = TRUE
            )

  body = h$value()

Run the code above in your browser using DataLab