NAME¶
Net::DRI - Interface to Domain Name Registries/Registrars/Resellers
VERSION¶
This documentation refers to Net::DRI version 0.95
SYNOPSIS¶
        use Net::DRI;
        my $dri=Net::DRI->new({ cache_ttl => 10, trid_factory => ..., logging => .... });
        ... various operations ...
        $dri->end();
DESCRIPTION¶
Net::DRI is a Perl library to access services offered by domain name providers,
  such as registries or registrars. DRI stands for Domain Registration Interface
  and it aims to be for domain name registries/registrars/resellers what DBI is
  for databases: an abstraction over multiple providers, with multiple policies,
  transports and protocols all used through a uniform API.
It is an object-oriented framework implementing RRP (RFC 2832/3632), EPP (core
  EPP in RFC 5730/5731/5732/5733/5734 aka STD69, extensions in RFC
  3915/4114/4310/5076 and various extensions of ccTLDs/gTLDs - currently more
  than 30 TLDs are directly supported with extensions), RRI (.DE registration
  protocol), Whois, DAS (Domain Availability Service used by .BE, .EU, .AU,
  .NL), IRIS (RFC3981) DCHK (RFC5144) over LWZ (RFC4993) for .DE currently and
  XCP (RFC4992), .FR/.RE email and webservices interface, and resellers
  interface of some registrars (Gandi, OpenSRS, etc.). It has transports for
  connecting with UDP/TCP/TLS, HTTP/HTTPS, Web Services (XML-RPC and SOAP
  with/without WSDL), or SMTP-based registries/registrars.
It is not limited to handling of domain names, it can be easily extended. For
  example, it supports ENUM registrations and validations, or DNSSEC
  provisioning.
A shell is included for easy prototyping and debugging, see Net::DRI::Shell.
  Caching and logging features are also included by default.
Please see the included README file for full details.
EXAMPLES¶
Please see the "eg/" subdirectory of the distribution, it contains
  various examples. Please also see all unit tests under "t/", they
  show all parts of the API.
SUBROUTINES/METHODS¶
After having used Net::DRI (which is the only module you should need to
  "use" from this distribution), you create an object as instance of
  this class, and every operation will be carried through it.
trid_factory()¶
This is an accessor to the trid factory (code reference) used to generate client
  transaction identificators, that are useful for logging and asynchronous
  operations.
During the "new()" call, a "trid_factory()" is initialized
  to a default safe value (being Net::DRI::Util::create_trid_1).
You need to call this method only if you wish to use another function to
  generate transaction identificators.
All other objects (registry profiles and transports) created after that will
  inherit this value. If you call again "trid_factory()" the change
  will only apply to new objects (registry profiles and transports) created
  after the change, it will not apply to already existing objects (registry
  profiles and transports).
logging()¶
This is an accessor to the underlying Logging object. During the
  "new()" call you can provide the object, or just a string
  ("null", "stderr", "files" or "syslog"
  which are the current logging modules available in Net::DRI), or a reference
  to an array with the first parameter a string (same as previously) and the
  second parameter a reference to an hash with data needed by the logging class
  used (see for example Net::DRI::Logging::Files).
If you want to log the application data (what is exchanged with remote server,
  such as EPP XML streams), you need to use logging level of 'notice', or
  higher.
cache()¶
This is an accessor to the underlying Cache object. See Net::DRI::Cache. This
  object has a "ttl()" method to access and change the current time to
  live for cached data.
SUPPORT¶
For now, support questions should be sent to:
<netdri@dotandco.com>
Please also see the SUPPORT file in the distribution.
SEE ALSO¶
<
http://www.dotandco.com/services/software/Net-DRI/>
AUTHOR¶
Patrick Mevzek, <netdri@dotandco.com> and various contributors (see
  Changes file and web page above)
COPYRIGHT¶
Copyright (c) 2005-2010 Patrick Mevzek <netdri@dotandco.com>. All rights
  reserved.
LICENSE¶
This program is free software; you can redistribute it and/or modify it under
  the terms of the GNU General Public License as published by the Free Software
  Foundation; either version 2 of the License, or (at your option) any later
  version.
See the LICENSE file that comes with this distribution for more details.