Funciones cURL de PHP
Descripción general
La biblioteca libcurl, creada por Daniel Stenberg y soportada por PHP, te permite conectar y comunicarte con varios tipos de servidores usando varios tipos de protocolos.
libcurl actualmente soporta los protocolos http, https, ftp, gopher, telnet, dict, file y ldap. libcurl también soporta autenticación HTTPS, HTTP POST, HTTP PUT, carga FTP (esto también se puede hacer mediante la extensión FTP de PHP), carga basada en formularios HTTP, proxies, cookies y autenticación de nombre de usuario + contraseña.
Métodos para implementar solicitudes GET y POST usando cURL en PHP
Estas funciones fueron introducidas en PHP 4.0.2.
Requisitos
Para usar las funciones cURL de PHP, necesitas instalarlibcurlel paquete.
PHP necesita libcurl 7.0.2-beta o superior. Para usar cURL en PHP 4.2.3, necesitas instalar libcurl 7.9.0 o superior. Desde PHP 4.3.0, necesitas instalar libcurl 7.9.0 o superior. Desde PHP 5.0.0, necesitas instalar libcurl 7.10.5 o superior.
Instalación
Para usar el soporte cURL de PHP, debes compilar PHP con la opción --with-curl[=DIR], donde DIR es la ruta del directorio que contiene lib e include. En el directorio include debe haber una carpeta llamada curl que contenga easy.h y curl.h. En la carpeta lib debería haber un archivo llamado libcurl.a. Para PHP 4.3.0, puedes configurar --with-curlwrappers para que cURL use flujos de URL.
Nota: Usuarios de Win32. Para usar este módulo en el entorno Windows, libeay32.dll y ssleay32.dll deben colocarse en un directorio incluido en la variable de entorno PATH. No uses libcurl.dll del sitio web de cURL.
Tipos de recursos
Esta extensión define 2 tipos de recursos: manejadores cURL y manejadores de lote cURL.
Funciones cURL de PHP
Lo siguiente contiene la lista de funciones cURL de PHP:
| Función | Descripción |
|---|---|
| curl_close() | Cierra una sesión cURL. |
| curl_copy_handle() | Copia un manejador cURL y todas sus opciones. |
| curl_errno() | Devuelve el número del último error. |
| curl_error() | Devuelve una cadena que contiene el último error de la sesión actual. |
| curl_escape() | Devuelve una cadena escapada, codificando la URL de la cadena dada. |
| curl_exec() | Ejecuta una sesión cURL. |
| curl_file_create() | Crea un objeto CURLFile. |
| curl_getinfo() | Obtiene información de un manejador de recurso de conexión cURL. |
| curl_init() | Inicializa una sesión cURL. |
| curl_multi_add_handle() | Añade un manejador curl individual a una sesión de lote curl. |
| curl_multi_close() | Cierra un conjunto de manejadores cURL. |
| curl_multi_exec() | Ejecuta las subconexiones del manejador cURL actual. |
| curl_multi_getcontent() | Si se establece CURLOPT_RETURNTRANSFER, devuelve el flujo de texto de la salida obtenida. |
| curl_multi_info_read() | Obtiene información de transferencia relacionada con el cURL analizado actualmente. |
| curl_multi_init() | Devuelve un nuevo manejador de lote cURL. |
| curl_multi_remove_handle() | Elimina un recurso de manejador de un recurso de manejador de lote curl. |
| curl_multi_select() | Espera todas las conexiones activas en el lote cURL. |
| curl_multi_setopt() | Establece una opción de transferencia cURL de lote. |
| curl_multi_strerror() | Devuelve el texto de cadena que describe el código de error. |
| curl_pause() | Pausa y reanuda una conexión. |
| curl_reset() | Restablece todas las opciones del manejador de sesión de libcurl. |
| curl_setopt_array() | Establece opciones de forma masiva para una sesión de transferencia cURL. |
| curl_setopt() | Establece una opción de transferencia cURL. |
| curl_share_close() | Cierra un manejador compartido cURL. |
| curl_share_init() | Inicializa un manejador compartido cURL. |
| curl_share_setopt() | Establece una opción de transferencia cURL para un manejador compartido. |
| curl_strerror() | Devuelve la descripción de cadena del código de error. |
| curl_unescape() | Decodifica una cadena codificada en URL. |
| curl_version() | Obtiene información de la versión de cURL. |