Calificación:
  • 2 voto(s) - 4.5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Enviar datos vía post y get usando cURL y PHP
#1
Enviar datos por Post

Para el envío por de datos por Post se hace uso de CURLOPT_POST y CURLOPT_POSTFIELDS para enviar los parámetros que se quieran, en caso de que dichos parámetros usen espacios se recomienda el uso de urlencode. Manos al código:
Código PHP:
//Iniciamos cURL.
    
$ch curl_init();
    
//Accedemos a la URL
    
curl_setopt($chCURLOPT_URL"http://web.com/for.php");
    
//Indicamos que vamos a enviar datos por Post.
    
curl_setopt ($chCURLOPT_POSTtrue);
    
//Iniciamos una sesion
    
curl_setopt($chCURLOPT_COOKIE'COOKIE O SESION');
    
//Indicamos que queremos imprimir el resultado
    
curl_setopt($chCURLOPT_RETURNTRANSFERfalse);
    
//Hacemos uso de un User Agent
    
curl_setopt($chCURLOPT_USERAGENT"Mozilla/5.0 (Windows; U; Windows
    NT 6.1; es-ES; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13"
);
    
//Enviamos los datos por post
    
curl_setopt ($chCURLOPT_POSTFIELDS"codigo=".urlencode($datos));
    
//Ejecutamos e imprimimos el resultado
    
echo curl_exec($ch); 

Para CURLOPT_POSTFIELDS se debe indicar el nombre de cada uno de los campos que se envían, en este caso "codigo=".
Cita:Nota: si es más de un campo se usa el carácter & para separarlos. Ejemplo: campouno=valor&campodos=valordos...

Subir archivos con cURL (multipart/form-data).

cURL por defecto envía el contenido usando application/x-www-form-urlencoded que es la forma en que un formulario lo enviaría normalmente, pero también podemos enviar el contenido de la forma multipart/form-data que se usa para cargar archivos, datos binarios y en resumen datos no ASCII. Para hacer esto simplemente se debe enviar un array al CURLOPT_POSTFIELDS y automáticamente será cambiado el tipo de envío.

Código PHP:
$postdata = array(
    
'name'    => 'archivito',
    
// Donde $filename contiene el nombre del archivo a enviar
    
'file'      => '@'.$filename
    
);
    ...
    
curl_setopt($chCURLOPT_POSTFIELDS,  $postdata); 

Enviar datos por Get:

Enviar datos vía get es bastante sencillo, al acceder a la URL hay que enviar los datos de la siguiente forma:

Código PHP:
curl_setopt($chCURLOPT_URL"http://web.com/for.php?codigo=".$datos); 
Cita:Nota: no intentes usar algo como CURLOPT_GET porque no existe
Espero que sea gran ayuda..!! Saludos by togarcito
#2
Considero esto muy importante para tener formularios seguros en nuestras web, marco importante.

PD: Yo ya he usado cURL para proteger un formulario y aunque parezca un poco complicado, vale la pena.
Cualquier duda, pregunta, comentario... Aquí estoy Guiño
#3
desconocía de estos metodos de enviar datos de una manera segura, gracias por la información Gran sonrisa deberé estudiar un poco mas sobre el tema de seguridad.
WWW
#4
Opino lo mismo desconocia estos metodos, me pondre a investigar sobre ellos haber si lo aplico algunas web q tengo
#5
Para usar esas funciones necesitas tener instalado el CURL en el servidor? Saludos.
#6
Muy interesante método de enviar datos, no lo conocía, haré unas pruebas a ver que tal me funciona, gracias por compartir esta valiosa información, saludos.  ¡Me gusta!
WWW


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
Información [Aporte] Redireccionar un Post o una Página [Wordpress] [Post#1-Junio] AbnerTorres 1 133 12-06-2017, 11:40 PM
Último mensaje: ghmillet
  Las bases de datos más grandes del mundo Smithcanal 3 133 06-06-2017, 04:16 PM
Último mensaje: easy english
  [Tutorial] Enviar Emails con la libreria PHPMailer y configurar Gmail amner 2 166 13-03-2017, 02:33 PM
Último mensaje: manuelxd1010
  [Aporte] Usando la API de imgur con PHP FullPirata 3 241 01-12-2016, 11:06 PM
Último mensaje: zeuz
  [Tutorial] Pasar base de datos MySQL por SSH FullPirata 1 207 11-10-2016, 04:12 PM
Último mensaje: efbsfcd
  Como enviar SMS desde PHP CarlosAlberto 16 630 02-10-2016, 09:23 PM
Último mensaje: Boreas
  GOOGLE CHARTS: INTRODUCCION A LA VISUALIZACION DE DATOS, GRAFICAS, MAPAS Y MAS khristia 2 233 16-08-2016, 08:27 PM
Último mensaje: efbsfcd
  Usando la API de Twitter en PHP cmascreativo 4 338 04-03-2016, 05:44 PM
Último mensaje: mispracticas2009
  Como enviar un formulario por correo con php Rolando Sanchez 1 981 04-02-2016, 09:16 PM
Último mensaje: jfuentes7
  [Duda] Cómo puedo usar python para calcular datos y mostrarlos vía php piero.cpvd 3 544 05-12-2015, 12:12 PM
Último mensaje: midd_98



Usuarios navegando en este tema: 1 invitado(s)