Enviar datos con post

Iniciado por icisneros, 13 Mayo 2008, 13:50 PM

0 Miembros y 1 Visitante están viendo este tema.

icisneros

Quiero hacer un programa en php, para obtener en una base de datos un listado de una página, el problema es que esa web está paginada.

Entonces inmaginar que estamos en pagina1.php y para cambiar a la segunda paginacion envia un formulario con action=pagina1.php pero con method post y le pasa unos parámetros, como puede ser el ultimo registro mostrado, para poder mostrar los siguientes.

Entonces lo que yo quiero saber es como puedo hacer una petición post desde php para simular ser un visitante de la web.

Si la peticion fuera get, con esto:

file('http://web.com?variable1=2&variable2=3)

me serviria, pero no sé como construir el enlace para poderme descargar el resultado de esa web.

No sé si me he explicado.

Un saludo!

дٳŦ٭

Cita de: EKDV en 13 Mayo 2008, 13:50 PM
Quiero hacer un programa en php, para obtener en una base de datos un listado de una página, el problema es que esa web está paginada.

Entonces inmaginar que estamos en pagina1.php y para cambiar a la segunda paginacion envia un formulario con action=pagina1.php pero con method post y le pasa unos parámetros, como puede ser el ultimo registro mostrado, para poder mostrar los siguientes.

Entonces lo que yo quiero saber es como puedo hacer una petición post desde php para simular ser un visitante de la web.

Si la peticion fuera get, con esto:

file('http://web.com?variable1=2&variable2=3)

me serviria, pero no sé como construir el enlace para poderme descargar el resultado de esa web.

No sé si me he explicado.

Un saludo!

Código (php) [Seleccionar]

   1. <?php 
   2.  $ch 
curl_init('http://dominio.com/pagina.php'); 
   
3.  curl_setopt ($chCURLOPT_POST1); 
   
4.  curl_setopt ($chCURLOPT_POSTFIELDS"parametro1=valor1&parametro2=valor2"); 
   
5.  curl_exec ($ch); 
   
6.  curl_close ($ch); 
   
7. ?>



Con sangre andaluza :)


Ertai

El metodo con CURL esta bien, pero depende de donde lo uses no podrás o te puede parecer algo engorroso.

Puedes probar de realizar la petición POST desde un formulario normal, poner un proxy al navegador web, ver que datos envia exactamente, y simularlo con sockets en PHP (ver página oficial).

Saludos.
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

icisneros

Para lo que yo quiero, me viene bien esa opción de CURL, no obstante, voy a mirarme lo que comentas Ertai porque para otras cositas que tengo en mente, me gusta más la idea de simular sockets.

Gracias a los dos!!