|
|
| |
Net::Curl(3) |
User Contributed Perl Documentation |
Net::Curl(3) |
Net::Curl - Perl interface for libcurl
use Net::Curl;
print $Net::Curl::VERSION;
print Net::Curl::version();
Net::Curl provides a Perl interface to libcurl created with object-oriented
implementations in mind. This documentation contains Perl-specific details and
quirks. For more information consult libcurl man pages and documentation at
<http://curl.haxx.se>.
This package contains some static functions and version-releated constants. It
does not export by default anything, but constants can be exported upon
request.
use Net::Curl qw(:constants);
To perform any request you want Net::Curl::Easy.
None of those functions are exported, you must use fully qualified names.
- version
- Returns libcurl version string.
my $libcurl_verstr = Net::Curl::version();
# prints something like:
# libcurl/7.21.4 GnuTLS/2.10.4 zlib/1.2.5 c-ares/1.7.4 ...
print $libcurl_verstr;
Calls curl_version(3)
<https://curl.haxx.se/libcurl/c/curl_version.html> function.
- version_info
- Returns a hashref with the same information as curl_version_info(3)
<https://curl.haxx.se/libcurl/c/curl_version_info.html>.
my $libcurl_ver = Net::Curl::version_info();
print Dumper( $libcurl_ver );
Example for version_info with age CURLVERSION_FOURTH:
age => 3,
version => '7.21.4',
version_num => 464132,
host => 'x86_64-pld-linux-gnu',
features => 18109,
ssl_version => 'GnuTLS/2.10.4'
ssl_version_num => 0,
libz_version => '1.2.5',
protocols => [ 'dict', 'file', 'ftp', 'ftps', 'gopher', 'http',
'https', 'imap', 'imaps', 'ldap', 'ldaps', 'pop3',
'pop3s', 'rtmp', 'rtsp', 'scp', 'sftp', 'smtp',
'smtps', 'telnet', 'tftp' ],
ares => '1.7.4',
ares_num => 67332,
libidn => '1.20',
iconv_ver_num => 0,
libssh_version => 'libssh2/1.2.7',
You can import constants if you want to check libcurl
features:
use Net::Curl qw(:constants);
my $vi = Net::Curl::version_info();
unless ( $vi->{features} & CURL_VERSION_SSL ) {
die "SSL support is required\n";
}
- getdate
- Decodes date string returning its numerical value, in seconds.
my $time = Net::Curl::getdate( "GMT 08:49:37 06-Nov-94 Sunday" );
my $timestr = gmtime $time;
print "$timestr\n";
# Sun Nov 6 08:49:37 1994
See curl_getdate(3)
<https://curl.haxx.se/libcurl/c/curl_getdate.html> for more info
on supported input formats.
- CURL_VERSION_* and CURLVERSION_*
- Can be used for decoding version_info() values.
curl_version_info(3)
<https://curl.haxx.se/libcurl/c/curl_version_info.html>
- LIBCURL_*
- Can be used for determining buildtime libcurl version. Some Net::Curl
features will not be available if it was built with older libcurl, even if
runtime libcurl version has necessary features.
Implemented interface is solid, there should be no more changes to it. Only new
features will be added.
This package tries very hard to not allow user do anything that
could make libcurl crash, but there still may be some corner cases where
that happens.
This package was mostly rewritten by Przemyslaw Iskra <sparky at
pld-linux.org>.
Module started as an extension to WWW::Curl developed by Cris Bailiff
<c.bailiff+curl at devsecure.com>, Balint Szilakszi <szbalint at
cpan.org> and a long list of contributors. However, currently it shares no
common code.
Copyright (c) 2011-2015 Przemyslaw Iskra.
You may opt to use, copy, modify, merge, publish, distribute
and/or sell copies of the Software, and permit persons to whom the Software
is furnished to do so, under the terms of the MPL or the MIT/X-derivate
licenses. You may pick one of these licenses.
Net::Curl::Easy Net::Curl::Compat Net::Curl::examples
<http://curl.haxx.se> libcurl(3)
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |