lunes, enero 25, 2010

Consulta de CURP php

A continuación les muestro este simple script en php para consultar el CURP de cualquier persona. Quiero aclarar que este script emula ser un navegador y envía las variables mediante GET a un servidor de gobernación.

Para poder utilizar esta función hay que tener activo en el php.ini allow_url_fopen = On.

Ejemplo:
getCurp("Perez", "Perez", "Pedro", 15, 01, 1980, "H", "BS");

 
 

<?

/**
 * @author Victo Arturo Hernandez Avila
 * @mail arturo[dot]webrek[at]gmail[dot]com
 * @copyright 2009
 */
 
set_time_limit(0);
function getCurp($primerApellido, $segundoApellido, $nombre, $diaNacimiento, $mesNaciemiento, $anioNacimiento, $sexo, $entidadNacimiento){
$primerApellido = urlencode($primerApellido);
$segundoApellido = urlencode($segundoApellido);
$nombre = urlencode($nombre);
$aContext = array(
    'http' => array(
        'header'=>"Accept-language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3\r\n" .
              "Proxy-Connection: keep-alive\r\n" .
              "Host: consultas.curp.gob.mx\r\n" .
              "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; es-ES; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)\r\n" .
              "Keep-Alive: 300\r\n" .
              "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"

        ),
    );
$cxContext = stream_context_create($aContext);
$url = "http://consultas.curp.gob.mx/CurpSP/curp1.do?strPrimerApellido=$primerApellido&strSegundoAplido=$segundoApellido&strNombre=$nombre&strdia=$diaNacimiento&strmes=$mesNaciemiento&stranio=$anioNacimiento&sSexoA=$sexo&sEntidadA=$entidadNacimiento&rdbBD=myoracle&strTipo=A&entfija=DF&depfija=04";
    $file = file_get_contents($url, false, $cxContext);
    preg_match_all("/var strCurp=\"(.*)\"/", $file, $curp);
$curp = $curp[1][0];
    if($curp){
        return $curp;
    }else{
        $curp = "Curp no encontrado.";
        return $curp;
    }
}
?>

 
 

        <option value="AS">AGUASCALIENTES </option>

        
 

         <option value="BC">BAJA CALIFORNIA NTE. </option>

 
 

        
 

         <option value="BS">BAJA CALIFORNIA SUR </option>

        
 

         <option value="CC">CAMPECHE </option>

        
 

         <option value="CL">COAHUILA </option>

        
 

         <option value="CM">COLIMA </option>

        
 

         <option value="CS">CHIAPAS </option>

        
 

         <option value="CH">CHIHUAHUA </option>

 
 

        
 

         <option value="DF">DISTRITO FEDERAL </option>

        
 

         <option value="DG">DURANGO </option>

        
 

         <option value="GT">GUANAJUATO </option>

        
 

         <option value="GR">GUERRERO </option>

        
 

         <option value="HG">HIDALGO </option>

        
 

         <option value="JC">JALISCO </option>

 
 

        
 

         <option value="MC">MEXICO </option>

        
 

         <option value="MN">MICHOACAN </option>

        
 

         <option value="MS">MORELOS </option>

        
 

         <option value="NT">NAYARIT </option>

        
 

         <option value="NL">NUEVO LEON </option>

        
 

         <option value="OC">OAXACA </option>

 
 

        
 

         <option value="PL">PUEBLA </option>

        
 

         <option value="QT">QUERETARO </option>

        
 

         <option value="QR">QUINTANA ROO </option>

        
 

         <option value="SP">SAN LUIS POTOSI </option>

        
 

         <option value="SL">SINALOA </option>

        
 

         <option value="SR">SONORA </option>

 
 

        
 

         <option value="TC">TABASCO </option>

        
 

         <option value="TS">TAMAULIPAS </option>

        
 

         <option value="TL">TLAXCALA </option>

        
 

         <option value="VZ">VERACRUZ </option>

        
 

         <option value="YN">YUCATAN </option>

        
 

         <option value="ZS">ZACATECAS </option>

 
 

        
 

         <option value="SM">SERV. EXTERIOR MEXICANO </option>

 
 

         <option value="NE">NACIDO EN EL EXTRANJERO </option>

2 comentarios:

Anónimo dijo...



No funciona o que se necesita

Anónimo dijo...

No funciona o que se necesita