Bueno luego de tener tiempo buscando una forma de realizar consultas whois en .ve, decidí escribir mi propio manejador.

Estoy ejecutando dichas consultas en el software opensource phpwhois ( http://sourceforge.net/projects/phpwhois ) que es bastante popular y funciona excelente.

El de forma nativa, no soporta concretamente ejecutar consultas en .ve (nic.ve) por lo que procedí a escribir mi handler.

Página principal del proyecto en google code: http://code.google.com/p/phpwhois-ve-handler/

El código lo presento a continuación:


< ?php
/*
Whois.php        PHP classes to conduct whois queries

Copyright (C)1999,2005 easyDNS Technologies Inc. &amp;amp;amp; Mark Jeftovic

Maintained by David Saez (david@ols.es)

For the most recent version of this package visit:

http://www.phpwhois.org

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.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/

if (!defined('__VE_HANDLER__'))
define('__VE_HANDLER__', 1);

require_once('whois.parser.php');

class ve_handler
{

function parse($data_str, $query)
{
$items = array(
'owner'                    =>    'Titular:',
'domain.name'        =>    'Nombre de Dominio:',
'admin'                   =>    'Contacto Administrativo',
'tech'                      =>    'Contacto Tecnico',
'billing'                   =>    'Contacto de Cobranza:',
'domain.created'    =>    'Fecha de Creacion:',
'domain.changed'  =>    'Ultima Actualizacion:',
'domain.expires'    =>    'Fecha de Vencimiento:',
'domain.status'      =>    'Estatus del dominio:',
'nserver'                 =>    'Servidor(es) de Nombres de Dominio'
);

$r['regrinfo'] = get_blocks($data_str['rawdata'], $items);

$r['regyinfo'] = array(
'referrer'             =>    'http://registro.nic.ve',
'registrar'           =>    'NIC-Venezuela - CNTI',
'coder'               =>    'Jose L. Chafardet G.',
'coder.mail'       =>    'jlchafardet@gmail.com',
'coder.site'        =>    'http://www.chafardet.com',
'project.page'    =>    'http://code.google.com/p/phpwhois-ve-handler/'
);

if (!isset($r['regrinfo']['domain']['created']) || is_array($r['regrinfo']['domain']['created']))
{
$r['regrinfo'] = array ( 'registered' => 'no');
$r['rawdata'] = $data_str['rawdata'];
$r['rawdata'][] = 'No match for';
return $r;
}
return ($r);
}
}
?>

Para que dicho codigo funcione, debe también modificarse el archivo

whois.servers.php

en el arreglo:


$this->DATA = array

debe agregarse al final del array


've'        => 've'

y en el arreglo:


$this->WHOIS_SPECIAL = array

debe agregarse al final del array


've'     => 'http://registro.nic.ve/modules/whois?query={domain}.ve&amp;amp;amp;.submit=Consultar'

El codigo está publicado tanto en la lista de parches del proyecto en sourceforge, como en la pagina principal del proyecto que creé en google code.

http://code.google.com/p/phpwhois-ve-handler/

4 Responses to “phpwhois .ve handler”
  1. Puedo ver donde lo tienes funcionando ? soy novato en esto y el error que me marca a mi es No encuntro {self} …

  2. anybody here know of a good site to find more info on array with php? I’ve got this site bookmarked and im gonna keep checking it out, but i still would like to find a site that covers array with php a little more thoroughly..thanks

  3. Well that’s pretty vague, depends on what you want, arrays are very easy but also difficult to use, depends on the levels and depth of the array.

    I’m not much a tutorial maker, but if you have a specific question, feel free to ask, ill gladly help with what I can.

Leave a Reply