| ||||
| PHP y consulta con INFONAVIT Buen dia. Tengo el siguiente problema en mi trabajo, aun no he encontrado como solucionarlo. Un sistema tiene que tomar datos del infonavit para ahorrarle al usuario la tarea de entrar a la página web de infonavit.com y obtener la información manualmente. En cierta parte de infonavit.com cualquier persona puede entrar y acceder a sus datos por medio de un formulario HTML con un solo campo que dice algo asi: <form name="form2" method="post" action="SctaVivLibre"> <strong>NSS:</strong> <input type="text" name="nss" size="11" maxlength="11"> <input type="submit" name="Submit" value="Enviar"> </form> El usuario teclea el NSS (número de seguro social) y recibe como respuesta el nombre de la persona con ese número de seguro social, y algunos datos mas. Lo que necesito es hacer ese proceso automáticamente, y el html que me regresa guardarlo en una variable, algo así como funciona show_source. Pueden ver el formulario original en: http://www.infonavit.gob.mx/servlet/SctaVivLibre Lo que necesito es el html que me regresa ese script cuando envio un número de seguro social. ideas? mil gracias de antemano |
| |||
| Pues lo puedes hacer desde PHP "abriendo" la página sobre una variable. Para eso puedes usar funciones de fopen() o bien simplemente file() y concatenar el array que te devuelve en un string (cadena) con implode(). Código PHP: El hecho de que puedas abrir una página externa en PHP .. depende de la configuración de los "wrappers" de tu php ... (te lo menciono por si te dá algún error sobre el tema). A su vez .. en el ejemplo le pasamos el parámetro "nss" (variable) a dicho CGI (no sé que lenguaje será .. ). Esperemos que no filtre por Método . .por que si bien en tu formulario has usado POST (o usas POST habitualmente y te funciona) .. en el link que hemos hecho para el file() .. está usando GET (y directamente no se puede definir otro método .. habria que entrar a simular la conexión HTTP por POST usando sockets() en caso de que te diera problemas en ese punto). Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. Última edición por Cluster; 09/02/2004 a las 22:38 |
| |||
| mm bueno .. yo probaría así tal cual (por GET) .. No todos los lenguajes "filtran" por método o están las aplicaciones "preparadas" para filtrar por método ... Pero ya que preguntas como similar una conexión por sockets bajo el protocolo HTTP .. revisa este mensaje: http://www.forosdelweb.com/showthrea...hreadid=130290 Un saludo, PD: Las preguntas sobre javacript .. mejor usa el foro adecuado (recueda que el hecho de "saber" PHP no es requisito también saber javascript .. pese que muchos usuarios de este foro también sepan de javascript ..)
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
| Aclaración .. file() te devuelve un arreglo (array) .. pero si usas el implode() como el ejemplo que puse lo estás convirtiendo (el arreglo) en un string (cadena). Podrías si quieres tomar esa página .html externa con file() sólo ..y .. así teniendo en cuenta que cada elemento de ese array será una línea (separada por salto de línea) de esa página HTML resultante .. tal vez por ahí te resulte más facil identificar en que nº de fila del arreglo cae el dato(s) que buscas o deseas obtener. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |