Función curl_setopt de PHP
Manual de referencia de cURL de PHP
(PHP 4 >= 4.0.2, PHP 5)
curl_setopt — Establece una opción de transferencia cURL.
Descripción
bool curl_setopt ( resource $ch , int $option , mixed $value )
Establece una opción para el handle de sesión cURL dado.
Parámetros
ch
El handle de cURL devuelto por curl_init().
option
La opción CURLOPT_XXX que se desea establecer.
value
El valor que se establecerá en la opción option.
Para las siguientes opciones option, el valor de value debe establecerse como un valor de tipo bool:
| Opción | OpcionalvalueValor | Notas |
|---|---|---|
| CURLOPT_AUTOREFERER | Cuando, segúnLocation:al redirigir, establece automáticamente en el header el campoReferer:de información. | |
| CURLOPT_BINARYTRANSFER | Al habilitarCURLOPT_RETURNTRANSFER, se devuelve la salida nativa (Raw). | |
| CURLOPT_COOKIESESSION | Cuando está habilitado, cURL solo transferirá una cookie de sesión e ignorará las demás cookies. De forma predeterminada, cURL devuelve todas las cookies al servidor. Las cookies de sesión son aquellas que existen para determinar si la sesión del servidor es válida. | |
| CURLOPT_CRLF | Cuando está habilitado, convierte los saltos de línea de Unix a retorno de carro y salto de línea. | |
| CURLOPT_DNS_USE_GLOBAL_CACHE | Cuando está habilitado, se habilita una caché DNS global. Esta opción es segura para subprocesos (thread-safe) y está habilitada de forma predeterminada. | |
| CURLOPT_FAILONERROR | Muestra el código de estado HTTP. El comportamiento predeterminado es ignorar la información HTTP con números menores o iguales a 400. | |
| CURLOPT_FILETIME | Cuando está habilitado, intenta obtener la información de modificación del documento remoto. La información resultante se devolverá a través de la función curl_getinfo() con laCURLINFO_FILETIMEopción devuelta. curl_getinfo(). | |
| CURLOPT_FOLLOWLOCATION | Cuando está habilitado, la información devuelta por el servidor se"Location: "devuelve recursivamente al servidor en el header; usandoCURLOPT_MAXREDIRSse puede limitar la cantidad de devoluciones recursivas. | |
| CURLOPT_FORBID_REUSE | Fuerza la desconexión después de completar la interacción; no se puede reutilizar. | |
| CURLOPT_FRESH_CONNECT | Fuerza la obtención de una nueva conexión, reemplazando la conexión en caché. | |
| CURLOPT_FTP_USE_EPRT | Cuando está habilitado, durante la descarga FTP se utiliza el comando EPRT (o LPRT). Si se establece enFALSEse deshabilitan EPRT y LPRT, y se usa solamente el comando PORT. | |
| CURLOPT_FTP_USE_EPSV | Cuando está habilitado, durante la transferencia FTP se intenta primero el comando EPSV antes de volver al modo PASV. Si se establece enFALSEse deshabilita el comando EPSV. | |
| CURLOPT_FTPAPPEND | Cuando está habilitado, escribe añadiendo al archivo en lugar de sobrescribirlo. | |
| CURLOPT_FTPASCII | CURLOPT_TRANSFERTEXTes un alias de. | |
| CURLOPT_FTPLISTONLY | Cuando está habilitado, solo se listan los nombres de los directorios FTP. | |
| CURLOPT_HEADER | Cuando está habilitado, la información del header se genera como flujo de datos. | |
| CURLINFO_HEADER_OUT | Cuando está habilitado, rastrea la cadena de solicitud del handle. | Disponible desde PHP 5.1.3.CURLINFO_El prefijo es intencional. |
| CURLOPT_HTTPGET | Cuando está habilitado, se establece el método HTTP en GET. Como GET es el valor predeterminado, solo se usa cuando ha sido modificado. | |
| CURLOPT_HTTPPROXYTUNNEL | Cuando está habilitado, la transferencia se realiza a través de un proxy HTTP. | |
| CURLOPT_MUTE | Cuando está habilitado, restablece a los valores predeterminados todos los parámetros modificados en las funciones de cURL. | |
| CURLOPT_NETRC | Después de establecer la conexión, accede al~/.netrcarchivo para obtener el nombre de usuario y la contraseña y conectar con el sitio remoto. | |
| CURLOPT_NOBODY | Cuando está habilitado, no se emitirá la parte BODY del HTML. | |
| CURLOPT_NOPROGRESS | Cuando está habilitado, desactiva la barra de progreso de la transferencia curl. Esta opción está habilitada de forma predeterminada.
|
|
| CURLOPT_NOSIGNAL | Cuando está habilitado, ignora todas las señales que curl transmite a PHP. Esta opción está habilitada de forma predeterminada en transferencias SAPI multiproceso. | Se agregó en cURL 7.10. |
| CURLOPT_POST | Cuando está habilitado, se envía una solicitud POST normal, de tipo:application/x-www-form-urlencoded, igual que el envío de un formulario. | |
| CURLOPT_PUT | Cuando está habilitado, permite enviar archivos por HTTP; también debe establecerseCURLOPT_INFILEyCURLOPT_INFILESIZE。 | |
| CURLOPT_RETURNTRANSFER | devuelve la información obtenida por curl_exec() como un flujo de archivo, en lugar de generarla directamente. | |
| CURLOPT_SSL_VERIFYPEER | Cuando está deshabilitado, cURL dejará de realizar la verificación del servidor. UseCURLOPT_CAINFOla opción para configurar el certificado; useCURLOPT_CAPATHla opción para configurar el directorio de certificados.CURLOPT_SSL_VERIFYPEERSiCURLOPT_SSL_VERIFYHOSTdebe establecerse comoTRUEde lo contrario, establézcase comoFALSE。 | Desde cURL 7.10, el valor predeterminado esTRUE. Desde cURL 7.10, se habilita de forma predeterminada. |
| CURLOPT_TRANSFERTEXT | Cuando está habilitado, se usa el modo ASCII para transferencias FTP. Para LDAP, recupera información de texto sin formato en lugar de HTML. En sistemas Windows, el sistema noSTDOUTlo establecerá en modo binario. | |
| CURLOPT_UNRESTRICTED_AUTH | Al usarCURLOPT_FOLLOWLOCATIONse siguen agregando el nombre de usuario y la contraseña en las múltiples ubicaciones (locations) del header generado, incluso si el dominio ha cambiado. | |
| CURLOPT_UPLOAD | Cuando está habilitado, permite la carga de archivos. | |
| CURLOPT_VERBOSE | Cuando está habilitado, se reporta toda la información, almacenada enSTDERRo en elCURLOPT_STDERRespecificado. |
Para las siguientes opciones option, el valor de value debe establecerse como un valor de tipo integer:
| Opción | OpcionalvalueValor | Notas |
|---|---|---|
| CURLOPT_BUFFERSIZE | El tamaño del búfer que se lee en cada obtención de datos, pero no se garantiza que este valor se llene por completo cada vez. | Se agregó en cURL 7.10. |
| CURLOPT_CLOSEPOLICY | O bien CURLCLOSEPOLICY_LEAST_RECENTLY_USED o bien CURLCLOSEPOLICY_OLDEST; existen otros tres CURLCLOSEPOLICY, pero cURL aún no los admite. | |
| CURLOPT_CONNECTTIMEOUT | El tiempo de espera antes de iniciar la conexión; si se establece en 0, espera indefinidamente. | |
| CURLOPT_CONNECTTIMEOUT_MS | El tiempo de espera para intentar la conexión, en milisegundos. Si se establece en 0, espera indefinidamente. | Se agregó en cURL 7.16.2. Disponible desde PHP 5.2.3. |
| CURLOPT_DNS_CACHE_TIMEOUT | Establece el tiempo durante el cual se guarda la información DNS en memoria; el valor predeterminado es 120 segundos. | |
| CURLOPT_FTPSSLAUTH | Método de autenticación FTP:CURLFTPAUTH_SSL(intenta SSL primero),CURLFTPAUTH_TLS(intenta TLS primero) oCURLFTPAUTH_DEFAULT(deja que cURL lo decida automáticamente). | Se agregó en cURL 7.12.2. |
| CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE(valor predeterminado, deja que cURL decida qué versión usar),CURL_HTTP_VERSION_1_0(fuerza el uso de HTTP/1.0) oCURL_HTTP_VERSION_1_1(fuerza el uso de HTTP/1.1). | |
| CURLOPT_INFILESIZE | Establece el límite de tamaño del archivo de subida, en bytes. | |
| CURLOPT_LOW_SPEED_LIMIT | Cuando la velocidad de transferencia sea menor queCURLOPT_LOW_SPEED_LIMIT(bytes/seg), PHP, de acuerdo conCURLOPT_LOW_SPEED_TIMEdecidirá si cancela la transferencia por ser demasiado lenta. | |
| CURLOPT_LOW_SPEED_TIME | Cuando la velocidad de transferencia sea menor queCURLOPT_LOW_SPEED_LIMIT(bytes/seg), PHP, de acuerdo conCURLOPT_LOW_SPEED_TIMEdecidirá si cancela la transferencia por ser demasiado lenta. | |
| CURLOPT_MAXCONNECTS | El número máximo de conexiones permitidas; al superarse, se utilizaráCURLOPT_CLOSEPOLICYpara decidir qué conexiones deben detenerse. | |
| CURLOPT_MAXREDIRS | Especifica el número máximo de redirecciones HTTP; esta opción está pensada para usarseCURLOPT_FOLLOWLOCATIONjunto con. | |
| CURLOPT_PORT | Se utiliza para especificar el puerto de conexión. (Opcional) | |
| CURLOPT_PROTOCOLS | CURLPROTO_*El campo de bits de. Si se habilita, el valor del campo de bits limitará qué protocolos puede utilizar libcurl durante la transferencia. Esto permite admitir muchos protocolos al compilar libcurl, pero restringir el uso solo a un subconjunto permitido de ellos. De forma predeterminada, libcurl utilizará todos los protocolos que admite. ConsulteCURLOPT_REDIR_PROTOCOLS. Las opciones de protocolo disponibles son: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL | Se agregó en cURL 7.19.4. |
| CURLOPT_PROTOCOLS | CURLPROTO_*El campo de bits de. Si se habilita, el valor del campo de bits limitará qué protocolos puede utilizar libcurl durante la transferencia. Esto permite admitir muchos protocolos al compilar libcurl, pero restringir el uso solo a un subconjunto permitido de ellos. De forma predeterminada, libcurl utilizará todos los protocolos que admite. ConsulteCURLOPT_REDIR_PROTOCOLS. Las opciones de protocolo disponibles son: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL | Añadido en cURL 7.19.4. |
| CURLOPT_PROXYAUTH | Método de autenticación para la conexión al proxy HTTP. Utilice losCURLOPT_HTTPAUTHindicadores de campo de bits para establecer la opción correspondiente. Para la autenticación de proxy soloCURLAUTH_BASICyCURLAUTH_NTLMestá soportado actualmente. | Añadido en cURL 7.10.7. |
| CURLOPT_PROXYPORT | Puerto del servidor proxy. El puerto también se puedeCURLOPT_PROXYestablecer en. | |
| CURLOPT_PROXYTYPE | No esCURLPROXY_HTTP(valor por defecto) oCURLPROXY_SOCKS5。 | Añadido en cURL 7.10. |
| CURLOPT_REDIR_PROTOCOLS | CURLPROTO_*El valor de campo de bits. Si está habilitado, el valor de campo de bits limitará el hilo de transferencia cuandoCURLOPT_FOLLOWLOCATIONesté habilitado y se siga una redirección, los protocolos que se pueden usar. Esto le permite restringir el hilo de transferencia a un subconjunto de protocolos permitidos durante las redirecciones. De forma predeterminada, libcurl permitirá todos los protocolos excepto FILE y SCP. Esto difiere de la versión previa al lanzamiento de 7.19.4, que seguía incondicionalmente todos los protocolos compatibles. Para las constantes de protocolo, consulteCURLOPT_PROTOCOLS。 | Añadido en cURL 7.19.4. |
| CURLOPT_RESUME_FROM | Pasar un desplazamiento de bytes al reanudar la transferencia (para la reanudación de descargas). | |
| CURLOPT_SSL_VERIFYHOST | 1 Comprobar si existe un nombre común (common name) en el certificado SSL del servidor. Nota del traductor: el nombre común generalmente es el dominio o subdominio para el cual solicitará el certificado SSL. 2 Comprobar si existe el nombre común y si coincide con el nombre de host proporcionado. | |
| CURLOPT_SSLVERSION | Versión de SSL utilizada (2 o 3). De forma predeterminada, PHP detecta este valor por sí mismo, aunque en algunos casos es necesario configurarlo manualmente. | |
| CURLOPT_TIMECONDITION | SiCURLOPT_TIMEVALUEdespués de la hora especificada ha sido modificado, utiliceCURL_TIMECOND_IFMODSINCEdevuelve la página; si no ha sido modificado, yCURLOPT_HEADERes true, devuelve un"304 Not Modified"cabecera deCURLOPT_HEADERes false, utiliceCURL_TIMECOND_IFUNMODSINCEel valor predeterminado esCURL_TIMECOND_IFUNMODSINCE。 | |
| CURLOPT_TIMEOUT | Establecer el número máximo de segundos que se permite ejecutar a cURL. | |
| CURLOPT_TIMEOUT_MS | Establecer el número máximo de milisegundos que se permite ejecutar a cURL. | Añadido en cURL 7.16.2. Disponible desde PHP 5.2.3. |
| CURLOPT_TIMEVALUE | Establecer unCURLOPT_TIMECONDITIONmarca de tiempo utilizada; de forma predeterminada se utilizaCURL_TIMECOND_IFMODSINCE。 |
Para los siguientes parámetros opcionales de estas opciones, el valor debe establecerse como un valor de tipo string:
| Opción | OpcionalvalueValor | Notas |
|---|---|---|
| CURLOPT_CAINFO | Un nombre de archivo que contiene uno o más certificados para que el servidor los verifique. Este parámetro solo tiene sentido cuando se usa junto conCURLOPT_SSL_VERIFYPEERsolo tiene sentido cuando se usa junto con. | |
| CURLOPT_CAPATH | Un directorio que contiene varios certificados CA. Esta opción se utiliza junto conCURLOPT_SSL_VERIFYPEERutilizada junto con. | |
| CURLOPT_COOKIE | Establecer el contenido de"Cookie: "en la solicitud HTTP. Varias cookies se separan con punto y coma seguido de un espacio (por ejemplo, "fruit=apple; colour=red"). | |
| CURLOPT_COOKIEFILE | Nombre de archivo que contiene los datos de cookie. El formato del archivo de cookies puede ser el formato Netscape o simplemente información de cabecera HTTP pura guardada en un archivo. | |
| CURLOPT_COOKIEJAR | Archivo donde se guardan las cookies después de que finalice la conexión. | |
| CURLOPT_CUSTOMREQUEST | Utilizar una solicitud personalizada en lugar de"GET"o"HEAD"como solicitud HTTP. Esto es útil para realizar"DELETE"u otras solicitudes HTTP más ocultas. Valores válidos como"GET","POST","CONNECT"etc. Es decir, no ingrese toda la solicitud HTTP aquí. Por ejemplo, ingresar"GET /index.html HTTP/1.0\r\n\r\n"no es correcto.
|
|
| CURLOPT_EGDSOCKET | Similar aCURLOPT_RANDOM_FILE, excepto un socket de daemon de recopilación de entropía (Entropy Gathering Daemon). | |
| CURLOPT_ENCODING | En la cabecera de la solicitud HTTP"Accept-Encoding: "el valor de. Las codificaciones admitidas son"identity","deflate"y"gzip". Si es una cadena vacía"", la cabecera de solicitud enviará todos los tipos de codificación admitidos. | Añadido en cURL 7.10. |
| CURLOPT_FTPPORT | Este valor se utilizará para obtener la dirección IP necesaria para el comando "POST" de FTP. El comando "POST" le indica al servidor remoto que se conecte a la dirección IP que especificamos. Esta cadena puede ser una dirección IP en texto plano, un nombre de host, un nombre de interfaz de red (en UNIX) o simplemente un '-' para usar la dirección IP predeterminada. | |
| CURLOPT_INTERFACE | Nombre de la interfaz de red de envío; puede ser un nombre de interfaz, una dirección IP o un nombre de host. | |
| CURLOPT_KRB4LEVEL | Nivel de seguridad KRB4 (Kerberos 4). Cualquiera de los siguientes valores es válido (en orden de menor a mayor):"clear"、"safe"、"confidential"、"private".. Si la cadena no coincide con ninguno de estos, se utilizará"private". Si esta opción se establece enNULLse deshabilitará la autenticación de seguridad KRB4. Actualmente, la autenticación de seguridad KRB4 solo se puede utilizar para transferencias FTP. | |
| CURLOPT_POSTFIELDS | Todos los datos se envían mediante la operación "POST" del protocolo HTTP. Para enviar archivos, anteponga@al nombre del archivo y use la ruta completa. Este parámetro puede ser una cadena codificada con urlencode como 'para1=val1¶2=val2&...' o un array con los nombres de los campos como claves y los datos de los campos como valores. Sivaluees un array,Content-Typela cabecera se establecerá enmultipart/form-data。 | |
| CURLOPT_PROXY | Túnel HTTP a través del proxy. | |
| CURLOPT_PROXYUSERPWD | Una cadena utilizada para conectarse al proxy"[username]:[password]"con formato. | |
| CURLOPT_RANDOM_FILE | Un nombre de archivo utilizado para generar la semilla de números aleatorios SSL. | |
| CURLOPT_RANGE | con"X-Y"de la forma, donde X e Y son rangos opcionales para obtener datos, en bytes. El hilo de transferencia HTTP también admite varios de estos elementos repetidos separados por comas, como"X-Y,N-M"。 | |
| CURLOPT_REFERER | En la cabecera de la solicitud HTTP"Referer: "el contenido de. | |
| CURLOPT_SSL_CIPHER_LIST | Una lista de algoritmos de cifrado SSL. Por ejemplo,RC4-SHAyTLSv1son listas de cifrado disponibles. | |
| CURLOPT_SSLCERT | Un nombre de archivo que contiene un certificado en formato PEM. | |
| CURLOPT_SSLCERTPASSWD | Utilice laCURLOPT_SSLCERTcontraseña requerida para el certificado. | |
| CURLOPT_SSLCERTTYPE | Tipo de certificado. Los formatos admitidos son"PEM"(valor predeterminado),"DER"y"ENG"。 | Añadido en cURL 7.9.3. |
| CURLOPT_SSLENGINE | Utilizado paraCURLOPT_SSLKEYla variable del motor de cifrado de la clave privada SSL especificada en. | |
| CURLOPT_SSLENGINE_DEFAULT | Variable utilizada para operaciones de cifrado asimétrico. | |
| CURLOPT_SSLKEY | Nombre de archivo que contiene la clave privada SSL. | |
| CURLOPT_SSLKEYPASSWD | EnCURLOPT_SSLKEYContraseña de la clave privada SSL especificada en
|
|
| CURLOPT_SSLKEYTYPE | CURLOPT_SSLKEYel tipo de cifrado de la clave privada especificado; los tipos de clave admitidos son"PEM"(valor predeterminado),"DER"y"ENG"。 | |
| CURLOPT_URL | La URL que se debe obtener, también se puedecurl_init()establecer en la función. | |
| CURLOPT_USERAGENT | Incluir en la solicitud HTTP una"User-Agent: "cadena de cabecera. | |
| CURLOPT_USERPWD | Pasar el nombre de usuario y la contraseña necesarios para la conexión, en el formato:"[username]:[password]"。 |
Para los siguientes parámetros opcionales de estas opciones, el valor debe establecerse como un array:
| Opción | OpcionalvalueValor | Notas |
|---|---|---|
| CURLOPT_HTTP200ALIASES | Array de códigos de respuesta 200. Los códigos de respuesta del array se consideran respuestas correctas; de lo contrario, se consideran incorrectas. | Añadido en cURL 7.10.3. |
| CURLOPT_HTTPHEADER | Un array para establecer los campos de la cabecera HTTP. Establezca utilizando un array con la siguiente forma: array('Content-type: text/plain', 'Content-length: 100') | |
| CURLOPT_POSTQUOTE | Un conjunto de comandos FTP que se ejecutan en el servidor después de que se complete la solicitud FTP. | |
| CURLOPT_QUOTE | Un conjunto de comandos FTP que se ejecutan en el servidor antes de la solicitud FTP. |
Para los siguientes parámetros opcionales de estas opciones, el valor debe establecerse como un recurso de flujo (por ejemplo, usando fopen()):
| Opción | OpcionalvalueValor |
|---|---|
| CURLOPT_FILE | Establecer la ubicación del archivo de salida; el valor es un tipo de recurso; el valor predeterminado esSTDOUT(navegador). |
| CURLOPT_INFILE | Dirección del archivo que se debe leer al subir archivos; el valor es un tipo de recurso. |
| CURLOPT_STDERR | Establecer una dirección de salida de errores; el valor es un tipo de recurso, que reemplaza el valor predeterminado deSTDERR。 |
| CURLOPT_WRITEHEADER | Establecer la dirección del archivo donde se escribe el contenido de la sección de cabecera; el valor es un tipo de recurso. |
Para los siguientes parámetros opcionales de estas opciones, el valor debe establecerse como el nombre de una función de devolución de llamada:
| Opción | OpcionalvalueValor |
|---|---|
| CURLOPT_HEADERFUNCTION | Establecer una función de devolución de llamada con dos parámetros: el primero es el manejador de recurso de cURL y el segundo son los datos de cabecera de salida. La salida de los datos de cabecera debe depender de esta función. Devuelve el tamaño de los datos escritos. |
| CURLOPT_PASSWDFUNCTION | Establecer una función de devolución de llamada con tres parámetros: el primero es el manejador de recurso de cURL, el segundo es un indicador de contraseña y el tercero es la longitud máxima permitida para la contraseña. Devuelve el valor de la contraseña. |
| CURLOPT_PROGRESSFUNCTION | Establecer una función de devolución de llamada con tres parámetros: el primero es el manejador de recurso de cURL, el segundo es un recurso de descriptor de archivo y el tercero es la longitud. Devuelve los datos contenidos. |
| CURLOPT_READFUNCTION | Nombre de la función de callback. Esta función debe aceptar tres parámetros. El primero es un recurso cURL; el segundo es el recurso de flujo (stream) pasado a cURL a través de la opciónCURLOPT_INFILEel recurso de flujo (stream) pasado a cURL; el tercer parámetro es la cantidad máxima de datos que se pueden leer. La función de callback debe devolver una cadena con una longitud menor o igual a la cantidad de datos solicitada (tercer parámetro). Generalmente se lee del recurso de flujo (stream) proporcionado. Devolver una cadena vacía comoEOFseñal de fin de archivo (EOF). |
| CURLOPT_WRITEFUNCTION | Nombre de la función de callback. Esta función debe aceptar dos parámetros. El primero es un recurso cURL; el segundo es la cadena de datos a escribir. Los datos deben guardarse en la función. La función debe devolver exactamente la cantidad de bytes de los datos recibidos para escribir; de lo contrario, la transferencia se interrumpirá con un error. |
Valores de retorno
Devuelve TRUE en caso de éxito o FALSE en caso de error.
Registro de cambios
| Versión | Descripción |
|---|---|
| 5.2.10 | IntroducidoCURLOPT_PROTOCOLS, and
CURLOPT_REDIR_PROTOCOLS.
|
| 5.1.0 | IntroducidoCURLOPT_AUTOREFERER,
CURLOPT_BINARYTRANSFER,
CURLOPT_FTPSSLAUTH,
CURLOPT_PROXYAUTH, and
CURLOPT_TIMECONDITION.
|
| 5.0.0 | IntroducidoCURLOPT_FTP_USE_EPRT,
CURLOPT_NOSIGNAL,
CURLOPT_UNRESTRICTED_AUTH,
CURLOPT_BUFFERSIZE,
CURLOPT_HTTPAUTH,
CURLOPT_PROXYPORT,
CURLOPT_PROXYTYPE,
CURLOPT_SSLCERTTYPE, and
CURLOPT_HTTP200ALIASES.
|
Ejemplos
Inicializar una nueva sesión cURL y obtener una página web
<?php // 创建一个新cURL资源 $ch = curl_init(); // 设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch, CURLOPT_HEADER, false); // 抓取URL并把它传递给浏览器 curl_exec($ch); //关闭cURL资源,并且释放系统资源 curl_close($ch); ?>
Ejemplo de subida de archivos:
<?php
/* http://localhost/upload.php:
print_r($_POST);
print_r($_FILES);
*/
$ch = curl_init();
$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');
curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
?>
La salida del ejemplo anterior es:
Array
(
[name] => Foo
)
Array
(
[file] => Array
(
[name] => test.png
[type] => image/png
[tmp_name] => /tmp/phpcpjNeQ
[error] => 0
[size] => 279
)
)
Notas
Al pasar un array a CURLOPT_POSTFIELDS, cURL codificará los datos como multipart/form-data, mientras que al pasar una cadena codificada en URL, los datos se codificarán como application/x-www-form-urlencoded.
Otras extensiones