.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Net::HTTPS::Any 3pm" .TH Net::HTTPS::Any 3pm "2014-07-27" "perl v5.18.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Net::HTTPS::Any \- Simple HTTPS client using whichever underlying SSL module is available .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Net::HTTPS::Any qw(https_get https_post); \& \& ( $page, $response, %reply_headers ) \& = https_get( \& { \*(Aqhost\*(Aq => \*(Aqwww.fortify.net\*(Aq, \& \*(Aqport\*(Aq => 443, \& \*(Aqpath\*(Aq => \*(Aq/sslcheck.html\*(Aq, \& \*(Aqargs\*(Aq => { \*(Aqfield\*(Aq => \*(Aqvalue\*(Aq }, \& #\*(Aqargs\*(Aq => [ \*(Aqfield\*(Aq=>\*(Aqvalue\*(Aq ], #order preserved \& }, \& ); \& \& ( $page, $response, %reply_headers ) \& = https_post( \& \*(Aqhost\*(Aq => \*(Aqwww.google.com\*(Aq, \& \*(Aqport\*(Aq => 443, \& \*(Aqpath\*(Aq => \*(Aq/accounts/ServiceLoginAuth\*(Aq, \& \*(Aqargs\*(Aq => { \*(Aqfield\*(Aq => \*(Aqvalue\*(Aq }, \& #\*(Aqargs\*(Aq => [ \*(Aqfield\*(Aq=>\*(Aqvalue\*(Aq ], #order preserved \& ); \& \& #... .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This is a simple wrapper around either of the two available \s-1SSL\s0 modules. It offers a unified \s-1API\s0 for sending \s-1GET\s0 and \s-1POST\s0 requests over \s-1HTTPS\s0 and receiving responses. .PP It depends on Net::SSLeay _or_ ( Crypt::SSLeay and LWP::UserAgent ). .SH "WHY THIS MODULE" .IX Header "WHY THIS MODULE" If you just want to write something that speaks \s-1HTTPS,\s0 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. .PP On the other hand, if you are a \s-1CPAN\s0 author or distribute a Perl application, especially if you aim to support multiple OSes/disributions, using this module for speaking \s-1HTTPS\s0 may make things easier on your users. It allows your code to be used with either \s-1SSL\s0 implementation. .SH "FUTURE" .IX Header "FUTURE" Using LWP::Protocol::https 6.02 or later, the \s-1LWP\s0 path actually uses Net::SSLeay also instead of Crypt::SSLeay. Going forward that makes this module more of historical interest, especially so since modern \s-1LWP\s0 has its own mechanism to force use of Crypt::SSLeay: \f(CW$Net::HTTPS::SSL_SOCKET_CLASS\fR = \*(L"Net::SSL\*(R"; .PP Therefore this module will likely eventually become a wrapper around a single codepath, driven by the conservative needs of Business::OnlinePayment::HTTPS. .SH "FUNCTIONS" .IX Header "FUNCTIONS" .SS "https_get \s-1HASHREF\s0 | \s-1FIELD\s0 => \s-1VALUE, ...\s0" .IX Subsection "https_get HASHREF | FIELD => VALUE, ..." Accepts parameters as either a hashref or a list of fields and values. .PP Parameters are: .IP "host" 4 .IX Item "host" .PD 0 .IP "port" 4 .IX Item "port" .IP "path" 4 .IX Item "path" .IP "headers (hashref)" 4 .IX Item "headers (hashref)" .PD For example: { 'X\-Header1' => 'value', ... } .IP "args" 4 .IX Item "args" \&\s-1CGI\s0 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). .IP "debug" 4 .IX Item "debug" Set true to enable debugging. .PP Returns a list consisting of the page content as a string, the \s-1HTTP\s0 response code and message (i.e. \*(L"200 \s-1OK\*(R"\s0 or \*(L"404 Not Found\*(R"), and a list of key/value pairs representing the \s-1HTTP\s0 response headers. .SS "https_post \s-1HASHREF\s0 | \s-1FIELD\s0 => \s-1VALUE, ...\s0" .IX Subsection "https_post HASHREF | FIELD => VALUE, ..." Accepts parameters as either a hashref or a list of fields and values. .PP Parameters are: .IP "host" 4 .IX Item "host" .PD 0 .IP "port" 4 .IX Item "port" .IP "path" 4 .IX Item "path" .IP "headers (hashref)" 4 .IX Item "headers (hashref)" .PD For example: { 'X\-Header1' => 'value', ... } .IP "Content-Type" 4 .IX Item "Content-Type" Defaults to \*(L"application/x\-www\-form\-urlencoded\*(R" if not specified. .IP "args" 4 .IX Item "args" \&\s-1CGI\s0 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). .IP "content" 4 .IX Item "content" Raw content (overrides args). A simple scalar containing the raw content. .IP "debug" 4 .IX Item "debug" Set true to enable debugging in the underlying \s-1SSL\s0 module. .PP Returns a list consisting of the page content as a string, the \s-1HTTP\s0 response code and message (i.e. \*(L"200 \s-1OK\*(R"\s0 or \*(L"404 Not Found\*(R"), and a list of key/value pairs representing the \s-1HTTP\s0 response headers. .SH "AUTHOR" .IX Header "AUTHOR" Ivan Kohler, \f(CW\*(C`\*(C'\fR .SH "BUGS" .IX Header "BUGS" Please report any bugs or feature requests to \f(CW\*(C`bug\-net\-https\-any at rt.cpan.org\*(C'\fR, or through the web interface at . I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. .SH "SUPPORT" .IX Header "SUPPORT" You can find documentation for this module with the perldoc command. .PP .Vb 1 \& perldoc Net::HTTPS::Any .Ve .PP You can also look for information at: .IP "\(bu" 4 \&\s-1RT: CPAN\s0's request tracker .Sp .IP "\(bu" 4 AnnoCPAN: Annotated \s-1CPAN\s0 documentation .Sp .IP "\(bu" 4 \&\s-1CPAN\s0 Ratings .Sp .IP "\(bu" 4 Search \s-1CPAN\s0 .Sp .SH "COPYRIGHT & LICENSE" .IX Header "COPYRIGHT & LICENSE" Copyright 2008\-2014 Freeside Internet Services, Inc. (http://freeside.biz/) All rights reserved. .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.