SYNOPSIS
use Net::HTTPS::Any qw(https_get https_post);
( $page, $response, %reply_headers )
= https_get(
{ 'host' => 'www.fortify.net',
'port' => 443,
'path' => '/sslcheck.html',
'args' => { 'field' => 'value' },
#'args' => [ 'field'=>'value' ], #order preserved
},
);
( $page, $response, %reply_headers )
= https_post(
'host' => 'www.google.com',
'port' => 443,
'path' => '/accounts/ServiceLoginAuth',
'args' => { 'field' => 'value' },
#'args' => [ 'field'=>'value' ], #order preserved
);
#...
DESCRIPTION
This is a simple wrapper around either of the two available SSL modules. It offers a unified API for sending GET and POST requests over HTTPS and receiving responses.It depends on Net::SSLeay _or_ ( Crypt::SSLeay and LWP::UserAgent ).
WHY THIS MODULE
If you just want to write something that speaks HTTPS, you don't need this module. Just go ahead and use whichever of the two modules is good for you. Don't worry about it.On the other hand, if you are a CPAN author or distribute a Perl application, especially if you aim to support multiple OSes/disributions, using this module for speaking HTTPS may make things easier on your users. It allows your code to be used with either SSL implementation.
FUTURE
Using LWP::Protocol::https 6.02 or later, the LWP path actually uses Net::SSLeay also instead of Crypt::SSLeay. Going forward that makes this module more of historical interest, especially so since modern LWP has its own mechanism to force use of Crypt::SSLeay:$Net::HTTPS::SSL_SOCKET_CLASS = ``Net::SSL'';
Therefore this module will likely eventually become a wrapper around a single codepath, driven by the conservative needs of Business::OnlinePayment::HTTPS.
FUNCTIONS
https_get HASHREF | FIELD => VALUE, ...
Accepts parameters as either a hashref or a list of fields and values.Parameters are:
- host
- port
- path
- headers (hashref)
- For example: { 'X-Header1' => 'value', ... }
- args
- CGI arguments, either as a hashref or a listref. In the latter case, ordering is preserved (see Tie::IxHash to do so when passing a hashref).
- debug
- Set true to enable debugging.
Returns a list consisting of the page content as a string, the HTTP response code and message (i.e. ``200 OK'' or ``404 Not Found''), and a list of key/value pairs representing the HTTP response headers.
https_post HASHREF | FIELD => VALUE, ...
Accepts parameters as either a hashref or a list of fields and values.Parameters are:
- host
- port
- path
- headers (hashref)
- For example: { 'X-Header1' => 'value', ... }
- Content-Type
- Defaults to ``application/x-www-form-urlencoded'' if not specified.
- args
- CGI arguments, either as a hashref or a listref. In the latter case, ordering is preserved (see Tie::IxHash to do so when passing a hashref).
- content
- Raw content (overrides args). A simple scalar containing the raw content.
- debug
- Set true to enable debugging in the underlying SSL module.
Returns a list consisting of the page content as a string, the HTTP response code and message (i.e. ``200 OK'' or ``404 Not Found''), and a list of key/value pairs representing the HTTP response headers.
AUTHOR
Ivan Kohler, "<ivan-net-https-any at freeside.biz>"BUGS
Please report any bugs or feature requests to "bug-net-https-any at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-HTTPS-Any>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Net::HTTPS::Any
You can also look for information at:
- RT: CPAN's request tracker
- AnnoCPAN: Annotated CPAN documentation
- CPAN Ratings
- Search CPAN
COPYRIGHT & LICENSE
Copyright 2008-2014 Freeside Internet Services, Inc. (http://freeside.biz/) All rights reserved.This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.