¿Supiste lo que acaba de lanzar LagriHost? Sí, como lo estabas esperando, ahora vendemos Web Hosting y Dominios. Conoce más :)


Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Enviar datos vía post y get usando cURL y PHP
#1
0
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



Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Tutorial Pasar base de datos MySQL de un servidor a otro vía SSH Diringax 0 2,271 10-07-2017, 06:15 PM
Último mensaje: Diringax
  Recogiendo los datos enviados a través de un formulario. torgar22 2 3,037 02-12-2015, 11:17 AM
Último mensaje: piinbook
  Mi primera pagina web en PHP torgar22 6 4,561 30-11-2015, 06:19 PM
Último mensaje: piinbook
  Calculadora Básica En PHP torgar22 0 2,219 23-10-2015, 06:36 PM
Último mensaje: torgar22
  Clase php 4 que toma un archivo xml y lo convierte en un array torgar22 0 2,274 22-09-2015, 06:15 PM
Último mensaje: torgar22



Usuarios navegando en este tema:
1 invitado(s)


Forum software by © MyBB Theme © Kevinex & iAndrew 2018