Transfer data from or to a server, using one of the supported curl protocols


  • This module wraps the functionality of the curl command line program.

  • It can be used to perform the actions of a web browser, such as downloading webpages and images, submitting webforms and uploading files.

  • It can be used to interface with any web based API.


(curl options)



A hashmap of options. All available options and their values are described below


type keyword

    The HTTP method to invoke.


    Values are case insensitive.


    The url of the remote service to send the request to.


    A hashmap of key/value pairs to send as HTTP headers.


    An HTTP accept header setting.


    A hashmap of key/value pairs to submit as a form submission.


    Specify some cookies to send.


    Specify a file to use as a cookie jar.

    Can be used to keep a session alive between multiple requests.


    Authenticate against a web service with the supplied credentials.


    Specify a hashmap of key/value pairs to be encoded as GET method query parameters.


    Supply some unformatted data to be sent as the body of a request.


    Supply some binary formatted data to be sent as the body of a request.


    Use HTTP/2.0 for transport.


    Write the received output to the specified file.


    Supply a custom user agent string for the request.


    Decode the response body according to its mime type.


    Specify additional body decoding options.


    Specify a custom function to test the returned data type for success or failure.


Gather the contents of a web page

(curl {:url ""})

Query the Digital Ocean API for a list of droplets

(curl {:url ""
       :headers {:authorization (format "Bearer %s" (System/getenv "DO_TOKEN"))}
       :decode-opts {:key-fn keyword}})