Code-Makers ha revivido. It's alive! Bienvenidos! Presentate aca!

como pasar variables con CURL - [nivel intermedio]

Avatar de Usuario
Piratos
Hola, mundo!
Hola, mundo!
Mensajes: 11
Registrado: Jue Mar 03, 2016 2:21 pm

como pasar variables con CURL - [nivel intermedio]

Mensajepor Piratos » Vie Mar 11, 2016 6:56 pm

Aveses queremos pasar variables entre clases o pasar variables a un webservice o estamos lidiando con APi's sin usar un formulario.

En este ejemplo explico un ejemplo facilito de como pasar variables usando PHP5, Instalando la libreria CURL (A command line tool for getting or sending files using URL syntax)

Que es CURL: https://en.wikipedia.org/wiki/CURL

Curl es una librería de funciones para conectar con servidores para trabajar con ellos. El trabajo se realiza con formato URL. Es decir, sirve para realizar acciones sobre archivos que hay en URLs de Internet, soportando los protocolos más comunes, como http, ftp, https, etc.

En lo que respecta a PHP, Curl está integrado dentro, de manera que esas librerías también se pueden utilizar desde scripts PHP. Aunque para ello PHP tiene que haberse instalado con soporte a Curl y no es así en todos los casos

Bueno, aclarado esto vamos a lo que vinimos:

En el ejemplo voy a pasar datos a un webservice.

Primero me aseguro tener habilitada la librería revisando nuestro archivo PHP.ini o probando la función phpinfo();

Deberíamos tener sin el ";" o quitar el punto y coma de modo que quede solo: extension=php_curl.dll


Código: Seleccionar todo

<?php

Recibimos las bariables o seteamos mediante POST
$nombre = $_POST['nombre'];
      $ciudad = $_POST['ciudad'];
      $empresa = $_POST['regempresa'];   
      $cargo= $_POST['cargo'];
      $codempresa= $_POST['codempresa'];
      $email= $_POST['email'];
      $telefono= $_POST['telefono'];

      //Extraemos los datos de las variables POST
      //seteamos las variables POST
      $fields = array('nombre' => urlencode($_POST['nombre']),
                  'ciudad' => urlencode($_POST['ciudad']),
                 'regempresa' => urlencode($_POST['regempresa']),
                 'cargo' => urlencode($_POST['cargo']),
                 'codempresa' => urlencode($_POST['codempresa']),
                 'email' => urlencode($_POST['email']),
                 'telefono' => urlencode($telefono= $_POST['telefono'])
                 );
                
      // URL a donde quieres enviar los datos   
      $url ='http://EstopuedeserUnWebservice.com/Administration/UserRequest/AddRequest';
             
      //encadenamos los datos para enviarlos datos POST
      foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
      rtrim($fields_string, '&');
      
      //Abrimos la conexión al servidor
      $ch = curl_init();
      
      //seteamos la url, numero de variables POST, Datos POST
      curl_setopt($ch,CURLOPT_URL, $url);
      curl_setopt($ch,CURLOPT_POST, count($fields));
      curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
      
      //Ejecutamos el POST
      $result = curl_exec($ch);
      
      //Cerramos la conexión
      curl_close($ch);
   
      //  var_dump($output);  Para debuguear podemos dumpear ;D
               
               // fin?
      
          ?>



Y así de facilito la libreria CURL nos permite trabajar con variables. 8-)


Saludos, Pira.

Imagen

Hola Mundo, otra vez!

Volver a “PHP”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado