 |
|
|
| |
|
| |
XVI. Funciones CURL (Client URL Library)
PHP soporta libcurl, una librería creada por Danile Stenberg,
que permite la conexión y comunicación con varios
tipos de servidores diferentes y con muchos tipos de protocolos
diferentes. Actualmente, libcurl soporta los portocolos http,
https, ftp, gopher, telnet, dict, file y ldap. Además libcurl
también soporta certificados HTTPS, métodos HTTP POST y HTTP PUT,
envío por FTP (que también puede realizarse con
la extensión ftp de PHP), envío mediante HTTP de archivos en
formularios HTML, servidores proxy, cookies y autenticación
usuario+contraseña.
Estas funciones fueron agregadas en la versión 4.0.2.
Para poder usar las funciones CURL deberá instalar el paquete CURL. PHP requiere que use CURL 7.0.2-beta o superior.
Desde la versión 4.2.3 de PHP se necesita, al menos, CURL 7.9.0 o superior.
A partir de la versión 4.3.0, se necesita una versión de CURL 7.9.8 o superior.
A partir de la versión PHP 5.0.0, la versión de CURL necesaria debe ser superior a 7.10.5.
Para poder usar estas funciones, se debe compilar PHP añadiendo el parámetro
--with-curl[=DIR], donde DIR apunta al directorio que contiene
los directorios lib y include de la librería. En el directorio include, debe existir
una carpeta llamada "curl" y que contiene los archivos easy.h y
curl.h. Además, debe existir un archivo llamado
libcurl.a en el directorio "lib". A partir de la versión de PHP 4.3.0
se puede configurar que PHP haga uso de CURL para el manejo de las conexiones con URLs, mediante la
opción --with-curlwrappers.
Nota para los usuarios de plataformas Windows:
Para activar este módulo en entornos Windows, se deben copiar los
archivos libeay32.dll y ssleay32.dll que se
encuentran en la carpeta DLL del directorio PHP/Win32 a la carpeta SYSTEM de Windows, que
normalmente se encuentra en C:\WINNT\SYSTEM32 o
C:\WINDOWS\SYSTEM.
Estas constantes están
definidas por esta extensión y estarán disponibles
solamente cuando la extensión ha sido o bien compilada dentro
de PHP o grabada dinámicamente en tiempo de ejecución.
- CURLOPT_AUTOREFERER
(integer)
Disponible desde PHP 5.1.0
- CURLOPT_COOKIESESSION
(integer)
Disponible desde PHP 5.1.0
- CURLOPT_DNS_USE_GLOBAL_CACHE
(integer)
- CURLOPT_DNS_CACHE_TIMEOUT
(integer)
- CURLOPT_FTPSSLAUTH
(integer)
Disponible desde PHP 5.1.0
- CURLOPT_SSLENGINE_DEFAULT
(integer)
- CURLOPT_UNRESTRICTED_AUTH
(integer)
- CURLCLOSEPOLICY_LEAST_RECENTLY_USED
(integer)
- CURLCLOSEPOLICY_LEAST_TRAFFIC
(integer)
- CURLINFO_PRETRANSFER_TIME
(integer)
- CURLINFO_SSL_VERIFYRESULT
(integer)
- CURLINFO_CONTENT_LENGTH_DOWNLOAD
(integer)
- CURLINFO_CONTENT_LENGTH_UPLOAD
(integer)
- CURLINFO_STARTTRANSFER_TIME
(integer)
- CURLE_UNSUPPORTED_PROTOCOL
(integer)
- CURLE_COULDNT_RESOLVE_PROXY
(integer)
- CURLE_COULDNT_RESOLVE_HOST
(integer)
- CURLE_FTP_WEIRD_SERVER_REPLY
(integer)
- CURLE_FTP_USER_PASSWORD_INCORRECT
(integer)
- CURLE_FTP_WEIRD_PASS_REPLY
(integer)
- CURLE_FTP_WEIRD_USER_REPLY
(integer)
- CURLE_FTP_WEIRD_PASV_REPLY
(integer)
- CURLE_FTP_WEIRD_227_FORMAT
(integer)
- CURLE_FTP_COULDNT_SET_BINARY
(integer)
- CURLE_FTP_COULDNT_RETR_FILE
(integer)
- CURLE_FTP_COULDNT_STOR_FILE
(integer)
- CURLE_OPERATION_TIMEOUTED
(integer)
- CURLE_FTP_COULDNT_SET_ASCII
(integer)
- CURLE_FTP_COULDNT_USE_REST
(integer)
- CURLE_FTP_COULDNT_GET_SIZE
(integer)
- CURLE_FTP_BAD_DOWNLOAD_RESUME
(integer)
- CURLE_FILE_COULDNT_READ_FILE
(integer)
- CURLE_ABORTED_BY_CALLBACK
(integer)
- CURLE_BAD_FUNCTION_ARGUMENT
(integer)
- CURLE_BAD_PASSWORD_ENTERED
(integer)
- CURLE_UNKNOWN_TELNET_OPTION
(integer)
- CURLE_TELNET_OPTION_SYNTAX
(integer)
- CURLE_SSL_PEER_CERTIFICATE
(integer)
- CURLE_SSL_ENGINE_NOTFOUND
(integer)
- CURLE_SSL_ENGINE_SETFAILED
(integer)
- CURLE_BAD_CONTENT_ENCODING
(integer)
- CURLFTPAUTH_DEFAULT
(integer)
Disponible desde PHP 5.1.0
- CURLFTPAUTH_SSL
(integer)
Disponible desde PHP 5.1.0
- CURLFTPAUTH_TLS
(integer)
Disponible desde PHP 5.1.0
Una vez que se ha compilado PHP con soporte para CURL, se pueden utilizar
las funciones CURL. La idea básica tras las funciones CURL
es que se inicializa una sesión CURL usando la función
curl_init(), luego se establecen las opciones para
la transferencia a través de la función curl_setopt(),
y finalmente se ejecuta la sesión con la función
curl_exec() para luego cerrarla con curl_close().
Aqui hay un ejemplo que usa funciones CURL para traer el contenido de la página de inicio
de www.example.com y guardarlo en un archivo:
Ejemplo 1. Usando el modulo CURL de PHP para traer la página de
inicio de www.example.com
<?php
$ch = curl_init ("http://www.example.com/"); $fp = fopen ("pagina_de_inicio.txt", "w");
curl_setopt ($ch, CURLOPT_FILE, $fp); curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_exec ($ch); curl_close ($ch); fclose ($fp); ?>
|
|
|
| |
|
|
|
|
|
| |
|
|
|
| |
|
| |
 |
|
| Copyright © 2005. Reservados todos los derechos. |
|
- - - |
|
| |
|