Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] quiero parsear la curp de mexico para validar y obtener datos

Estas en el tema de quiero parsear la curp de mexico para validar y obtener datos en el foro de PHP en Foros del Web. saludos amigos. tengo el siguiente problema, tengo un formulario donde solicito la curp, nombre completo, fecha de nacimiento, genero y mas, pero he visto que ...
  #1 (permalink)  
Antiguo 26/04/2013, 17:04
 
Fecha de Ingreso: octubre-2009
Mensajes: 48
Antigüedad: 15 años, 2 meses
Puntos: 2
Pregunta quiero parsear la curp de mexico para validar y obtener datos

saludos amigos.

tengo el siguiente problema, tengo un formulario donde solicito la curp, nombre completo, fecha de nacimiento, genero y mas, pero he visto que en la pagina de RENAPO tienen una consulta para la CURP, esto me serviria porque me puede dar los datos que solicito y además puedo hacer una validacion directa con RENAPO para que me tecleen el dato correcto, esto es para una aplicacion de registro de alumnos de nivel bachillerato.

quiero por medio del portal de RENAPO poder parsear los datos que necesito

estoy intentando con file_gets_contents y de entrada no me muestra la pagina de datos que estoy haciendo mal, aqui les dejo el fragmento de codigo.

Código PHP:
$curp 'JUCG510910MGTRRD08';
$html file_get_contents('http://consultas.curp.gob.mx/CurpSP/curp1.do?strCurp='.$curp.'&strTipo=B');
echo 
$html
creo que la pagina esta creada en ASP alguna pista para lograr obtener el resultado de la consulta en una variable para parsear la info gracias
  #2 (permalink)  
Antiguo 26/04/2013, 17:35
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: quiero parsear la curp de mexico para validar y obtener datos

Cita:
Iniciado por Manual de PHP
Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.
Si el servidor no tiene activados los "wrappers" entonces no podrás leer el contenido de una página externa, por lo que deberás recurrir a cURL: http://www.forosdelweb.com/f18/aport...equest-724214/
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 26/04/2013, 17:52
 
Fecha de Ingreso: octubre-2009
Mensajes: 48
Antigüedad: 15 años, 2 meses
Puntos: 2
De acuerdo Respuesta: quiero parsear la curp de mexico para validar y obtener datos

gracias por tu respuesta TRIBY

encontré una solución solo me falta un detalle, ya tengo los datos que necesito en una variable, acá les dejo el código que utilice

Código PHP:
Ver original
  1. $curp = 'JUCG510910MGTRRD08';
  2. if(function_exists('curl_init')) // Comprobamos si hay soporte para cURL
  3. {
  4.     $ch = curl_init();
  5.     curl_setopt($ch, CURLOPT_URL,
  6.         'http://consultas.curp.gob.mx/CurpSP/curp1.do?strCurp='.$curp.'&strTipo=B');
  7.     curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  8.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  9.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  10.     $resultado = curl_exec ($ch);
  11.  
  12.     echo($resultado);
  13. }
  14. else
  15.     echo "No hay soporte para cURL";

en "$resultado" tengo la informacion que necestio, si me da datos de la curp, la curp es valida, ahora, en la pagina existe un <form name="curpForma"> y unos <input type="hidden"> con su correspondiente nombre y valor de cada imput, me interesan los valores de los inputs, existe alguna forma de hacer una acción como la de jquery .serialized() para obtener los valores o alguna otra forma de obtenerlos alguna idea, gracias por su apoyo y pronta respuesta nuevamente...
  #4 (permalink)  
Antiguo 26/04/2013, 18:05
 
Fecha de Ingreso: octubre-2009
Mensajes: 48
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: quiero parsear la curp de mexico para validar y obtener datos

del siguiente código que esta contenido en la variable $resultado necesito extraer precisamente esta informacion alguna sugerencia????


Código HTML:
<form name="curpForma" method="post" action="/CurpSP/imprime.do;jsessionid=y4DzR7QQtMSW1WMcstn2JChL5LkD7VLcn30RpvQrdXX06hZ6gV2v!171998554">
<input type="hidden" name="strCurp" value="JUCG510910MGTRRD08">
<input type="hidden" name="strPrimerApellido" value="JUAREZ">
<input type="hidden" name="strSegundoAplido" value="CRUZ">
<input type="hidden" name="strNombre" value="MA GUADALUPE">
<input type="hidden" name="strSexo" value="MUJER">
<input type="hidden" name="strFechanacimiento" value="10/09/1951"> 
  #5 (permalink)  
Antiguo 26/04/2013, 19:41
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 4 meses
Puntos: 2237
Respuesta: quiero parsear la curp de mexico para validar y obtener datos

Prueba con DOMDocument
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 26/04/2013, 20:46
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 5 meses
Puntos: 793
Respuesta: quiero parsear la curp de mexico para validar y obtener datos

Ahí te dejo el ejemplo completo funcional con DOM:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $curp = 'JUCG510910MGTRRD08';
  4.  
  5. if (function_exists('curl_init')) // Comprobamos si hay soporte para cURL
  6. {
  7.     $ch = curl_init();
  8.     curl_setopt($ch, CURLOPT_URL,
  9.     'http://consultas.curp.gob.mx/CurpSP/curp1.do?strCurp=' . $curp . '&strTipo=B');
  10.     curl_setopt($ch, CURLOPT_TIMEOUT, 30);
  11.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  12.     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  13.     $resultado = curl_exec($ch);
  14.    
  15.     $doc = new DOMDocument();
  16.     $doc->loadHTML($resultado);
  17.     $xpath = new DOMXPath($doc);
  18.     $data = $xpath->query('//form/input[@type="hidden"][position() >= 1 and position() <= 6]/@value');
  19.    
  20.     foreach ($data as $dato) {
  21.         echo $dato->nodeValue . '<br />';
  22.     }
  23.  
  24. } else {
  25.     echo "No hay soporte para cURL";
  26. }

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #7 (permalink)  
Antiguo 26/04/2013, 21:06
 
Fecha de Ingreso: octubre-2009
Mensajes: 48
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: quiero parsear la curp de mexico para validar y obtener datos

gracias por el aporte lo pruebo y lo comentamos nuevamente, muchas gracias nuevamente
  #8 (permalink)  
Antiguo 03/09/2013, 18:29
 
Fecha de Ingreso: octubre-2009
Mensajes: 48
Antigüedad: 15 años, 2 meses
Puntos: 2
De acuerdo Respuesta: quiero parsear la curp de mexico para validar y obtener datos

solo para actualizar, la aplicación quedo muy bien, y ya valido datos a través de la curp, así garantizo que los datos que estoy guardando son validos, si alguien ocupa el código pues ahí esta, 100% funcionando, nuevamente gracias por las soluciones y doy por solucionado mi problema

Etiquetas: curp, formulario, html, mexico, parsear, quiero, registro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:25.