HTTP::Request::CurlParameters - container for a Curl-like HTTP request



Objects of this class are mostly created from HTTP::Request::FromCurl.




  • method

        method => 'GET'

    The HTTP method to use.

  • uri

        uri => ''

    The URI of the request.

  • headers

        headers => {
            'Content-Type' => 'text/json',
            'X-Secret' => ['value-1', 'value-2'],

    The headers of the request. Multiple headers with the same name can be passed as an arrayref to the header key.

  • cookie_jar

    The cookie jar to use.

  • cookie_jar_options

    Options for the constructor of the cookie jar.

  • credentials

        credentials => 'hunter2:secret'

    The credentials to use for basic authentication.

  • post_data

        post_data => ['A string','across multiple','scalars']

    The POST body to use.

  • body

        body => '{"greeting":"Hello"}'

    The body of the request.

  • timeout

        timeout => 50

    The timeout for the request

  • form_args

    The HTML form parameters. These get converted into a body.

  • insecure

        insecure => 1

    Disable SSL certificate verification

  • output

    Name of the output file

  • show_error

        show_error => 0

    Show error message on HTTP errors

  • fail

        fail => 1

    Let the Perl code die on error


    $ua->request( $r->as_request );

Returns an equivalent HTTP::Request object


    my $r = $curl->as_request;

Returns a HTTP::Request object that represents the Curl options.

$r->as_snippet( %options )

    print $r->as_snippet( type => 'LWP' );

Returns a code snippet that returns code to create an equivalent HTTP::Request object and to perform the request using WWW::Mechanize.

This is mostly intended as a convenience function for creating Perl demo snippets from curl examples.



Arrayref of headers that will not be output.

Convenient values are ['Content-Length']

    type => 'Tiny',

Type of snippet. Valid values are LWP for LWP::UserAgent and Tiny for HTTP::Tiny.


    print $r->as_curl;

Returns a curl command line representing the request

This is convenient if you started out from something else or want a canonical representation of a curl command line.


The curl command to be used. Default is curl.


Returns a shallow copy of the object


The public repository of this module is


The public support forum of this module is


Please report bugs in this module via the RT CPAN bug queue at or via mail to


Max Maischein


Copyright 2018-2020 by Max Maischein


This module is released under the same terms as Perl itself.