Blogs Media: CSS Mania | VivirLatino | Sentido Web | Apps Mania

Publicidad

Jue08Nov2007

Enviar datos por POST mediante CURL

18:00 H (CET)| Temas: PHP

Si el otro día indicábamos cómo obtener una página protegida por autenticación, hoy vamos a explicar lo fácil que es enviar una petición HTTP con datos por POST usando CURL.

Tan solo es necesario indicar que se envían datos por POST e indicar qué datos se van a mandar:

<?php
 $ch = curl_init('http://dominio.com/pagina.php');
 curl_setopt ($ch, CURLOPT_POST, 1);
 curl_setopt ($ch, CURLOPT_POSTFIELDS, "parametro1=valor1¶metro2=valor2");
 curl_exec ($ch);
 curl_close ($ch);
?>

Con CURLOPT_POST indicamos que enviamos datos en POST y con CURLOPT_POSTFIELDS indicamos los datos.

Relacionados

Feedback (4) » Formulario

1. Isra ~ Martes, 19 Feb 2008 | 16:05H:

Genial, pero ¿cómo puedo almacenar la salida devuelta en una variable? Gracias!

2. Jonatan ~ Domingo, 09 Mar 2008 | 05:31H:

podes haciendo esto:

$code = curl_exec($ch);

o sino esto:

ob_start();
curl_exec($ch);
$code=ob_get_contents();
ob_end_flush();

Saludos

3. joel ~ Jueves, 17 Abr 2008 | 19:31H:

Muy bueno el ejemplo pero tengo una duda como podria enviarle datos por GET a un php que esta en otro servidor he intentado cambiar POST por GET pero no funciona.

4. elphaba ~ Lunes, 28 Abr 2008 | 17:22H:

muy bueno, lo he usado y funciona perfectamente,
yo tambien almaceno la salida en una variable,
pero lo que no se hacer es como allmacenar los datos que le pasas al servidor.

Yo uso
curl_setopt($ch, CURLOPT_POSTFIELDS, $datos); //estos son los campos POST
en donde
$datos= "

$op
$id_user
$us
";
cuando me llega esto al servidor quiero guardarlos en variables o en un array porque tengo que hacer operaciones con ellos, y no se como hacerlo

Conversación

Nombre:

Email:

(no aparecerá)

URL:

(opcional)
¿Recordar datos?

↓ Comentarios (XHTML permitido)