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
  Modos de tema Usando la API de Twitter en PHP cmascreativo 4 94 02-03-2018, 08:10 AM
Último mensaje: easy english
Información [Aporte] Redireccionar un Post o una Página [Wordpress] [Post#1-Junio] AbnerTorres 1 299 12-06-2017, 11:40 PM
Último mensaje: ghmillet
  Las bases de datos más grandes del mundo Smithcanal 3 376 06-06-2017, 04:16 PM
Último mensaje: easy english
  [Tutorial] Enviar Emails con la libreria PHPMailer y configurar Gmail amner 2 413 13-03-2017, 02:33 PM
Último mensaje: manuelxd1010
  [Aporte] Usando la API de imgur con PHP Jvh_22 3 412 01-12-2016, 11:06 PM
Último mensaje: zeuz
  [Tutorial] Pasar base de datos MySQL por SSH Jvh_22 1 427 11-10-2016, 04:12 PM
Último mensaje: efbsfcd
  Como enviar SMS desde PHP CarlosAlberto 16 990 02-10-2016, 09:23 PM
Último mensaje: Boreas
  GOOGLE CHARTS: INTRODUCCION A LA VISUALIZACION DE DATOS, GRAFICAS, MAPAS Y MAS khristia 2 459 16-08-2016, 08:27 PM
Último mensaje: efbsfcd
  Usando la API de Twitter en PHP cmascreativo 4 484 04-03-2016, 05:44 PM
Último mensaje: mispracticas2009
  Como enviar un formulario por correo con php Rolando Sanchez 1 1,361 04-02-2016, 09:16 PM
Último mensaje: jfuentes7



Usuarios navegando en este tema: 1 invitado(s)