Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Net::DRI(3)	      User Contributed Perl Documentation	   Net::DRI(3)

       Net::DRI	- Interface to Domain Name Registries/Registrars/Resellers

       This documentation refers to Net::DRI version 0.95

	       use Net::DRI;
	       my $dri=Net::DRI->new({ cache_ttl => 10,	trid_factory =>	..., logging =>	.... });

	       ... various operations ...


       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

       Please see the included README file for full details.

       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.

       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.

       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).

       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.

       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.

       For now,	support	questions should be sent to:


       Please also see the SUPPORT file	in the distribution.


       Patrick Mevzek, <> and various contributors (see
       Changes file and	web page above)

       Copyright (c) 2005-2010 Patrick Mevzek <>.  All
       rights reserved.

       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

perl v5.32.0			  2010-03-25			   Net::DRI(3)


Want to link to this manual page? Use this URL:

home | help