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

FreeBSD Manual Pages

  
 
  

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

NAME
       Net::ParseWhois - An extendable alternative to Net::Whois for parsing
       whois information.

SYNOPSIS
	 # below code based on t/whois.pl in Net::ParseWhois distribution package ...

	 use Net::ParseWhois;

	 my $dom = 'honestabe.net';

	 my $w = Net::ParseWhois::Domain->new($dom);
	 unless	($w->ok) {
	       warn "error: " .	$w->{'error'} .	"\n" if	$w->{'error'};
	       die "No match for $dom\n";
	 }

	 print "Registrar: ", $w->registrar, "\n";
	 print "Domain:	", $w->domain, "\n";
	 print "Name: ", $w->name, "\n";
	 print "Tag: ",	$w->tag, "\n";
	 print "Address:\n", map { "	$_\n" }	$w->address;
	 print "Country: ", $w->country, "\n";
	 print "Name Servers:\n", map {	"    $$_[0] ($$_[1])\n"	}  @{$w->servers};
	 my ($c, $t);
	 if ($c	= $w->contacts)	{
	   print "Contacts:\n";
	   for $t (sort	keys %$c) {
	     print "	$t:\n";
	     print map { "\t$_\n" } @{$$c{$t}};
	   }
	 }
	 print "Record created:", $w->record_created ;
	 print "\nRecord updated:", $w->record_updated,"\n";

DESCRIPTION
       Net::ParseWhois currently only supports domains from major TLDs and
       Registrars (.com, .net &	.org --	see REGISTRARS for an exact list of
       who's supported)	and tries to maintain backward interface compatability
       with Net::Whois.

       Net::ParseWhois is my attempt at	updating Net::Whois to support whois
       referrals. The author of	Net::Whois (Dana Hudes)	and I disgreed on how
       to solve	the problem of parsing a distrubuted and non-standardized
       whois system, so	I created this divergent module. (It's my
       understanding that Mr. Hudes wants to create an IETF draft and assumes
       registrars/registries will then follow it. I've simply taken the
       current not-so-defined situation	and coded around it.)

       Net::ParseWhois contains	a generalized parsing system that can be
       configured for each Registrar, or completely overridden as needed.

       The class "Net::ParseWhois::Domain::Registrar" contains a list of known
       servers that could be returned in a whois referral, and specifies the
       specific	class to use for each. When "Net::ParseWhois" receives a
       referral	from the 'root'	whois server, it creates the specified object
       and calls follow_referral on that object. If a domain is	found and a
       referral	given, but no Registrar	class has been defined to handle that
       referral, the method ok will return true	but method 'unknown_registrar'
       will also return	true. Net::ParseWhois will still follow	the referral,
       and the raw output from the registrar will be available via the method
       'raw_whois_text'.

REGISTRARS
       Currently supported:

	       whois.dotster.com - Dotster, Inc.
	       whois.register.com - Register.com, Inc.
	       whois.networksolutions.com - Network Solutions, Inc.
	       whois.opensrs.net - Tucows.com, Inc.
	       whois.domaindiscover.com	- Tierranet, Inc.
	       whois.bulkregister.com -	Bulkregister.com, Inc.
	       rs.domainbank.net - Domain Bank,	Inc.
	       whois.registrars.com - INTERNET DOMAIN REGISTRARS (Shopnow?)
	       whois.corenic.net - Core	Internet Council of Registrars
	       whois.InternetNamesWW.com -  Melbourne IT, aka Internet Names Worldwide
	       whois.easyspace.com - Easyspace,	Ltd.

       Not supported (with notes..):

	       whois.nordnet.net - should be easy.
	       whois.namesecure.com - easy
	       whois.compuserve.com - easy
	       whois.itsyourdomain.com - easy
	       whois.namesdirect.com - easy
	       whois.enom.com -	easy, but no nameserver	or expire/updated data
	       whois.domaininfo.com - not too hard. follows same structure, but	uses different template/style
	       whois.nameit.net	- different style, not too hard
	       whois.yesnic.com	- Korean based registrar, field's are labeled. would require work.
	       whois.gandi.net - French, RIPE style whois.
	       whois.dotearth.com - might be ugly. no newlines between different sections
	       whois.names4ever.com - no data??	down?

	       Known registrars	that I haven't looked at --

	       whois.schlund.de
	       whois.registrars.com
	       whois.gandi.net
	       whois.doregi.com
	       whois.dotregistrar.com
	       whois.ibi.net
	       whois.OnlineNIC.com
	       whois.paycenter.com.cn
	       whois.domainpeople.com
	       whois.awregistry.net
	       whois.discount-domain.com
	       whois.dotearth.com
	       whois.psi-domains.com
	       whois.gkg.net
	       whois.enetregistry.com
	       whois.speednic.net
	       whois.domaininfo.com
	       whois.catalog.com
	       whois.oleane.net
	       whois.totalnic.net
	       whois.alldomains.com
	       whois.signaturedomains.com
	       whois.1stdomain.net
	       whois.enterprice.net
	       whois.stargateinc.com
	       whois.e-names.org
	       nswhois.domainregistry.com
	       whois.worldnet.net
	       whois.naame.com
	       whois.eastcom.com
	       whois.domainzoo.com

       Note: Now that CoreNic is supported (thanks Vern!), Net::ParseWhois's
       supported registrars should cover upwards of 90%	of the GTLD
       registrations that are out there.

COMMON METHODS (Specific to Net::ParseWhois)
       new("a-domain-name-goes-here")
	 Creates a new instance	of a Net::ParseWhois object, which attempts a
       lookup of the specified domain name.

       ok
	 Returns a boolean value indicating whether the	Net::ParseWhois	object
       is "safe" or not. If it returns false, then a match was not found or
       some other error	occurred when creating the object. A value of true
       indicates a match was found and the various methods for returning
       Registrar data should function.
	 Coders	should always check this method	first after creating a new
       Net::ParseWhois object to avoid script failures.

       error
	 Returns the error message indicating why the Whois lookup could not
       be completed. Will return null if there is no error.

	 print "Tag: ",	$w->tag, "\n";
	 print "Country: ", $w->country, "\n";
	 print "Name Servers:\n", map {	"    $$_[0] ($$_[1])\n"	}  @{$w->servers};
	 if ($c	= $w->contacts)	{
	   print "Contacts:\n";
	   for $t (sort	keys %$c) {
	     print "	$t:\n";
	     print map { "\t$_\n" } @{$$c{$t}};

       The following methods apply only	to when	a succesful WHOIS lookup was
       performed.

       domain
	 Returns the domain name the Net::ParseWhois object looked up.

       registrar
	 Returns the name of the registrar of the domain

       record_created
	 Returns the date and time the domain's	entry was put into this
       registrar's system. Note	that this does not necessarily reflect the
       original	registration date of the domain!

       record_updated
	 Returns the date and time the domain's	entry was last updated.
       Updates include changes to contact info,	registered name	servers, etc.

       name
	 Returns the name of the entity	that registerted the domain. Typically
       this will be the	name of	either a person	or a company, but pretty much
       depends on what was used	in the initial registration process.

       address
	 Returns an array of strings representing the physical address
       registered for the domain. This will be the domain owner's address, not
       that of a technical or administrative contact.

GENERIC	METHODS	(From Net::Whois)
	todo

SEE ALSO
       The Net::ParseWhois project homepage:

	   http://dajoba.com/projects/netparsewhois/

       The Net::ParseWhois mailing list:

	   netparsewhois at lists dot dajoba dot com
	   http://lists.dajoba.com/m/listinfo/netparsewhois/

       Net::Whois, Net::Whois::Raw, Net::RWhois

AUTHORS	/ ACKNOWLEDGMENTS
       Net::ParseWhois is maintained by	Abraham	A. Ingersoll <abe@dajoba.com>.

       This module is a	based on Net::Whois, which is maintained by Dana Hudes
       (dhudes@hudes.org). Net::Whois was originally written by	Chip
       Salzenberg (chip@pobox.com).

       Thanks to:

       Joseph Ingersoll	for testing under ActivePerl.  Curtis Poe for comments
       and bug testing.	 Andy Baio for first version of	Registrars.pm.	Simon
       Flack for newer registrars.com parsing module & bug sleuthing.  Douglas
       Freake for (yet to be used) address parsing contribution.  Vern Hart
       for (especially tough) CoreNic.pm parsing module.  Adam Stubbs for
       INameWW.pm and Easyspace.pm parsing modules.

COPYRIGHT
       Copyright 2000 Abraham A	Ingersoll <abe@dajoba.com>

       Some portions may be copyright 1998 Dana	Hudes &	Chip Salzenberg.

       This module is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.32.0			  2008-09-12		    Net::ParseWhois(3)

NAME | SYNOPSIS | DESCRIPTION | REGISTRARS | COMMON METHODS (Specific to Net::ParseWhois) | GENERIC METHODS (From Net::Whois) | SEE ALSO | AUTHORS / ACKNOWLEDGMENTS | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Net::ParseWhois&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help