Aqui les dejo este codigo que obtiene el CURP directamente de la Base de Datos de Gobernación, para la variable sexo los valores posibles son "H", "M" y para el campo entidad de nacimiento son los siguientes.
Espero y les sirva Bye
Código HTML:
<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>
Código PHP:
<?
/**
* @author Victor 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"
//, 'proxy' => 'tcp://proxy:puerto', //Si utilizas algun proxy para salir a internet descomenta esta linea y por la direccion de tu proxy y el puerto
//'request_fulluri' => True //Tambien esta si utilizas algun proxy
),
);
$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;
}
}
?>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-15073642-1");
pageTracker._setDomainName("none");
pageTracker._setAllowLinker(true);
pageTracker._trackPageview();
} catch(err) {}</script>