(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
curl_setopt — Imposta una opzione per un trasferimento CURL
Imposta un'opzione sul gestore della sezione cURL dato.
ch
Un identificativo cURL restituito da curl_init().
option
L'opzione CURLOPT_XXX
da impostare.
value
Il valore da impostare sull'option
.
value
dovrebbe essere un bool per i
seguenti valori del parametro option
:
Opzione | Imposta value a |
Note |
---|---|---|
CURLOPT_AUTOREFERER |
true per impostare automaticamente il campo Referer: nelle
richieste dove esso segue un redirect Location: .
|
|
CURLOPT_BINARYTRANSFER |
true per restituire l'output grezzo quando
è usato CURLOPT_RETURNTRANSFER .
|
Da PHP 5.1.3, questa opzione non ha effetto: sarà sempre restituito
l'output grezzo quando
verrà usato CURLOPT_RETURNTRANSFER .
|
CURLOPT_COOKIESESSION |
true per marcare questo come un nuovo "session" cookie. Esso forzerà libcurl
ad ignorare tutti i cookie che andrà a caricare che sono "session cookies"
dalla precedente sessione. Per impostazione predefinita, libcurl memorizza sempre e
carica tutti i cookie, indipendente se sono cookie di sessione o no.
I cookie di sessione sono cookie senza data di scadenza e sono destinati
ad essere vivi e esistenti solo per questa "session".
|
|
CURLOPT_CERTINFO |
true per stampare informazioni di certificazione SSL sullo STDERR
sui trasferimenti sicuri.
|
Aggiunta in cURL 7.19.1.
Disponibile da PHP 5.3.2.
Richiede la presenza di CURLOPT_VERBOSE per avere affetto.
|
CURLOPT_CONNECT_ONLY |
true indica alla libreria di effettuare tutte le autenticazioni proxy
e configurazioni di connessione necessarie, ma nessun trasferimento dati. Questa opzione è implementata per
HTTP, SMTP e POP3.
|
Aggiunta in 7.15.2. Disponibile da PHP 5.5.0. |
CURLOPT_CRLF |
true per convertire i ritorni a capo Unix in ritorni a capo CRLF
sui trasferimenti.
|
|
CURLOPT_DNS_USE_GLOBAL_CACHE |
true per usare una cache DNS globale. Questa opzione non
è thread-safe ed è abilitata per impostazione predefinita.
|
|
CURLOPT_FAILONERROR |
true per fallire in modo verboso se il codice HTTP restituito
è più grande o uguale a 400. Il comportamento predefinito è di restituire
la pagina normalmente, ignorando il codice.
|
|
CURLOPT_FILETIME |
true per tentare di recuperare la data di
modifica del documento remoto. Questo valore può essere recuperato utilizzando
l'opzione CURLINFO_FILETIME con
curl_getinfo().
|
|
CURLOPT_FOLLOWLOCATION |
true per seguire qualsiasi
header "Location: " che il server invia come
parte dell'header HTTP (notare che questo è ricorsivo, PHP seguirà lo stesso numero
di header "Location: " che vengono inviati,
a meno che non sia impostato CURLOPT_MAXREDIRS ).
|
|
CURLOPT_FORBID_REUSE |
true per forzare la connessione a chiudersi
esplicitamente quando ha finito l'elaborazione, e per non essere riutilizzata.
|
|
CURLOPT_FRESH_CONNECT |
true per forzare l'uso di una nuova connessione
invece di una dalla cache.
|
|
CURLOPT_FTP_USE_EPRT |
true per usare EPRT (e LPRT) quando si effettuano download
FTP attivi. Utilizzare false per disabilitare EPRT e LPRT e usare solo
PORT.
|
|
CURLOPT_FTP_USE_EPSV |
true per provare in primo luogo un comando EPSV per i trasferimenti
FTP prima di ritornare a PASV. Impostare a false
per disabilitare EPSV.
|
|
CURLOPT_FTP_CREATE_MISSING_DIRS |
true per creare le cartelle mancanti quando un'operazione FTP
incontra un percorso che al momento non esiste.
|
|
CURLOPT_FTPAPPEND |
true per aggiungere al file remoto al posto di
sovrascriverlo.
|
|
CURLOPT_TCP_NODELAY |
true per disabilitare l'algoritmo di Nagle del TCP, che prova a minimizzare
il numero di piccoli pacchetti sulla rete.
|
Disponibile da PHP 5.2.1 per versioni compilate con libcurl 7.11.2 o maggiore. |
CURLOPT_FTPASCII |
Un alias di
CURLOPT_TRANSFERTEXT . Usare quella invece.
|
|
CURLOPT_FTPLISTONLY |
true per elencare solo i nomi di una directory
FTP.
|
|
CURLOPT_HEADER |
true per includere l'header nell'output.
|
|
CURLINFO_HEADER_OUT |
true per tracciare la stringa della richiesta del gestore.
|
Disponibile da PHP 5.1.3. Il prefisso
CURLINFO_ è intenzionale.
|
CURLOPT_HTTPGET |
true per resettare il metodo della richiesta HTTP a GET.
Dato che GET è l'impostazione di default, questo è necessario solo se il metodo della
richiesta è stato modificato.
|
|
CURLOPT_HTTPPROXYTUNNEL |
true per passare attraverso ad un dato proxy HTTP.
|
|
CURLOPT_MUTE |
true per essere completamente silenzioso per quanto riguarda
le funzioni cURL.
|
Rimossa in cURL 7.15.5 (Si può invece usare CURLOPT_RETURNTRANSFER) |
CURLOPT_NETRC |
true per esaminare il file ~/.netrc
per trovare un username e una password per il sito remoto con
cui è stata stabilita una connessione.
|
|
CURLOPT_NOBODY |
true per escludere il corpo dall'output.
Il metodo della richiesta è allora impostato a HEAD. Modificando questo a false
non lo imposta a GET.
|
|
CURLOPT_NOPROGRESS |
|
|
CURLOPT_NOSIGNAL |
true per ignorare qualsiasi funzione cURL che causa un
segnale da essere inviato al processo PHP. Questa è attivata per impostazione predefinita
nelle SAPI multi-thread in modo che le opzioni del timeout possano essere usate.
|
Aggiunta in cURL 7.10. |
CURLOPT_POST |
true per fare un HTTP POST regolare. Questo POST è il
normale tipo application/x-www-form-urlencoded ,
più comunemente utilizzato dai form HTML.
|
|
CURLOPT_PUT |
true per HTTP PUT un file. Il file da PUT deve
essere impostato con CURLOPT_INFILE e
CURLOPT_INFILESIZE .
|
|
CURLOPT_RETURNTRANSFER |
true per restituire il trasferimento come una stringa del
valore di ritorno di curl_exec() al posto di stamparla
direttamente.
|
|
CURLOPT_SAFE_UPLOAD |
true per disabilitare il supporto per il prefisso @ per
effettuare l'upload di file in CURLOPT_POSTFIELDS , che
significa che i valori che iniziano con @ possono essere tranquillamente
passati come campi. Alternativamente CURLFile
può essere usato per gli upload.
|
Aggiunta in PHP 5.5.0 con false come valore predefinitoì. PHP 5.6.0
cambia il valore predefinito a true .
|
CURLOPT_SSL_VERIFYPEER |
false per non fare verificare a cURL
i certificati del peer. Possono essere specificati certificati alternativi con cui verificare
con l'opzione CURLOPT_CAINFO
o può essere specificata una directory dei certificati con
l'opzione CURLOPT_CAPATH .
|
true per impostazione predefinita di cURL 7.10. Bundle predefinito installato di
cURL 7.10.
|
CURLOPT_TRANSFERTEXT |
true per usare la modalità ASCII per i trasferimenti FTP.
Per LDAP, esso recupera i dati in testo normale invece di HTML. Sui
sistemi Windows, esso non imposterà STDOUT nella modalità
binaria.
|
|
CURLOPT_UNRESTRICTED_AUTH |
true per mantenere l'invio dell'username e della password
quando si seguono le locations (utilizzando
CURLOPT_FOLLOWLOCATION ), anche quando
l'hostname è cambiato.
|
|
CURLOPT_UPLOAD |
true per preparare un upload.
|
|
CURLOPT_VERBOSE |
true per stampare informazioni verbose. Scrive
l'output nello STDERR , o il file specificato usando
CURLOPT_STDERR .
|
value
dovrebbe essere un integer per i
seguenti valori del parametro option
:
Opzione | Imposta value a |
Note |
---|---|---|
CURLOPT_BUFFERSIZE |
La dimensione del buffer da usare per ogni lettura. Non ci sono garanzie che questa richiesta verrà soddisfatta, comunque. | Aggiunta in cURL 7.10. |
CURLOPT_CLOSEPOLICY |
Uno dei valori CURLCLOSEPOLICY_* .
|
Rimossa in PHP 5.6.0. |
CURLOPT_CONNECTTIMEOUT |
Il numero di secondi da aspettare provando a connettersi. Usare 0 per attendere indefinitamente. | |
CURLOPT_CONNECTTIMEOUT_MS |
Il numero di millisecondi da aspettare mentre si prova a connettersi. Usare 0 per attendere indefinitamente. Se libcurl è costruito per utilizzare il resolver dei nomi di sistema standard, quella porzione della connessione utilizzerà comunque la seconda risoluzione per timeout con un timeout minimo permesso di un secondo. | Aggiunta in cURL 7.16.2. Disponibile da PHP 5.2.3. |
CURLOPT_DNS_CACHE_TIMEOUT |
Il numero di secondi per mantenere elementi DNS in memoria. Questa opzione è impostata a 120 (2 minuti) per impostazione predefinita. | |
CURLOPT_FTPSSLAUTH |
Il metodo di autenticazione FTP (quando è attivo):
CURLFTPAUTH_SSL (prova SSL per primo),
CURLFTPAUTH_TLS (prova TLS per primo), o
CURLFTPAUTH_DEFAULT (lascia decidere a cURL).
|
Aggiunta in cURL 7.12.2. |
CURLOPT_HTTP_VERSION |
CURL_HTTP_VERSION_NONE (predefinito, lascia
decidere a CURL quale versione utilizzare),
CURL_HTTP_VERSION_1_0 (forza HTTP/1.0),
o CURL_HTTP_VERSION_1_1 (forza HTTP/1.1).
|
|
CURLOPT_HTTPAUTH |
Il metodo(i) di autenticazione HTTP da utilizzare. Le opzioni sono:
L'operatore bitwise
|
|
CURLOPT_INFILESIZE |
La dimensione attesa, in byte, del file quando si effettua l'upload di un file ad
un sito remoto. Notare che usando questa opzione non fermerà libcurl
dall'inviare più dati, poichè ciò che viene esattamente inviato dipende da
CURLOPT_READFUNCTION .
|
|
CURLOPT_LOW_SPEED_LIMIT |
La velocità di trasferimento, in bytes al secondo, in cui la trasmissione dovrebbe stare al di sotto
durante CURLOPT_LOW_SPEED_TIME secondi
affinchè PHP consideri la trasmissione troppo lenta e la abortisca.
|
|
CURLOPT_LOW_SPEED_TIME |
Il numero di secondi in cui il trasferimento dovrebbe stare al di sotto
CURLOPT_LOW_SPEED_LIMIT in modo che PHP consideri
la trasmissione troppo lenta e la abortisca.
|
|
CURLOPT_MAXCONNECTS |
La quantità massima di connessioni persistenti che sono permesse.
Quando il limite è raggiunto,
viene usata CURLOPT_CLOSEPOLICY per determinare
quale connessione chiudere.
|
|
CURLOPT_MAXREDIRS |
La quantità massima di redirect HTTP da seguire. Usa questa opzione
accanto a CURLOPT_FOLLOWLOCATION .
|
|
CURLOPT_PORT |
Un numero di porta alternativo al quale connettersi. | |
CURLOPT_POSTREDIR |
Una maschera di bit di 1 (301 Moved Permanently), 2 (302 Found)
e 4 (303 See Other) se il metodo HTTP POST dovesse essere mantenuto
quando CURLOPT_FOLLOWLOCATION è impostato e
si verifica un tipo specifico di redirect.
|
Aggiunta in cURL 7.19.1. Disponibile da PHP 5.3.2. |
CURLOPT_PROTOCOLS |
Una maschera di bit di valori
Le opzioni valide per il protocollo sono:
|
Aggiunta in cURL 7.19.4. |
CURLOPT_PROXYAUTH |
I(l) metodi(o) dell'autenticazione HTTP da utilizzare per la connessione proxy.
Utilizza la stessa maschera di bit descritta in
CURLOPT_HTTPAUTH . Per l'autenticazione del proxy,
solo CURLAUTH_BASIC e
CURLAUTH_NTLM sono supportate al momento.
|
Aggiunta in cURL 7.10.7. |
CURLOPT_PROXYPORT |
Il numero della porta del proxy al quale connettersi. Questo numero della porta può
anche essere impostato in CURLOPT_PROXY .
|
|
CURLOPT_PROXYTYPE |
O CURLPROXY_HTTP (valore predefinito),
CURLPROXY_SOCKS4 ,
CURLPROXY_SOCKS5 ,
CURLPROXY_SOCKS4A o
CURLPROXY_SOCKS5_HOSTNAME .
|
Aggiunta in cURL 7.10. |
CURLOPT_REDIR_PROTOCOLS |
Maschera di bit di valori di CURLPROTO_* . Se usata, questa maschera di bit
limita quali protocolli può usare libcurl in un trasferimento che segue ad
un redirect quando è abilitata CURLOPT_FOLLOWLOCATION .
Questo permette di limitare specifici trasferimenti ad essere permessi solo ad usare un sottoinsieme
di protocolli nei redirect. Per impostazione predefinita libcurl permetterà tutti i protocolli
eccetto per FILE e SCP. Questa è una differenza rispetto alle versioni pre-7.19.4
che incondizionatamente avrebbe seguito tutti i protocolli supportati.
Vedere anche CURLOPT_PROTOCOLS per i valori delle costanti dei protocolli.
|
Aggiunta in cURL 7.19.4. |
CURLOPT_RESUME_FROM |
L'offset, in byte, dal quale riprendere un trasferimento. | |
CURLOPT_SSL_VERIFYHOST |
1 per controllare l'esistenza di un nome comune nel certificato peer SSL. 2 per controllare l'esistenza di un nome comune e inoltre verificare che esso corrisponde all'hostname fornito. In ambienti di produzione il valore di questa opzione dovrebbe essere tenuto a 2 (valore predefinito). | Supporto per il valore 1 rimosso in cURL 7.28.1 |
CURLOPT_SSLVERSION |
Uno di CURL_SSLVERSION_DEFAULT (0),
CURL_SSLVERSION_TLSv1 (1),
CURL_SSLVERSION_SSLv2 (2),
CURL_SSLVERSION_SSLv3 (3),
CURL_SSLVERSION_TLSv1_0 (4),
CURL_SSLVERSION_TLSv1_1 (5) o
CURL_SSLVERSION_TLSv1_2 (6).
|
|
CURLOPT_TIMECONDITION |
Come viene trattato CURLOPT_TIMEVALUE .
Usare CURL_TIMECOND_IFMODSINCE per restituire la
pagina solo se è stata modificata dall'ora specificata in
CURLOPT_TIMEVALUE . Se non è stata modificata,
verrà restituito un header "304 Not Modified"
assumendo che CURLOPT_HEADER sia true .
Utilizzare CURL_TIMECOND_IFUNMODSINCE per l'effetto
contrario. CURL_TIMECOND_IFMODSINCE è il
valore predefinito.
|
|
CURLOPT_TIMEOUT |
Il numero massimo di secondi per permettere alle funzioni cURL di essere eseguite. | |
CURLOPT_TIMEOUT_MS |
Il numero massimo di millisecondi per permettere alle funzioni cURL di essere eseguite. Se libcurl è costruito per utilizzare il resolver dei nomi di sistema standard, quella porzione della connessione utilizzerà comunque la seconda risoluzione per timeout con un timeout minimo permesso di un secondo. | Aggiunta in cURL 7.16.2. Disponibile da PHP 5.2.3. |
CURLOPT_TIMEVALUE |
Il tempo in secondi dall'1 Gennaio 1970. Il tempo verrà usato
da CURLOPT_TIMECONDITION . Per impostazione predefinita,
viene utilizzato CURL_TIMECOND_IFMODSINCE .
|
|
CURLOPT_MAX_RECV_SPEED_LARGE |
Se un download eccede questa velocità (contata in byte al secondo) in media cumulativa durante il trasferimento, il trasferimento si metterà in pausa per mantenere il tasso medio inferiore o uguale al valore del parametro. Per impostazione predefinita a velocità senza limiti. | Aggiunta in cURL 7.15.5. Disponibile da PHP 5.4.0. |
CURLOPT_MAX_SEND_SPEED_LARGE |
Se un upload eccede questa velocità (contata in byte al secondo) in media cumulativa durante il trasferimento, il trasferimento si metterà in pausa per mantenere il tasso medio inferiore o uguale al valore del parametro. Per impostazione predefinita a velocità senza limiti. | Aggiunta in cURL 7.15.5. Disponibile da PHP 5.4.0. |
CURLOPT_SSH_AUTH_TYPES |
Una maschera di bit consistente in una o più di
CURLSSH_AUTH_PUBLICKEY ,
CURLSSH_AUTH_PASSWORD ,
CURLSSH_AUTH_HOST ,
CURLSSH_AUTH_KEYBOARD . Impostare a
CURLSSH_AUTH_ANY per lasciar sceglierne una a libcurl.
|
Aggiunta in cURL 7.16.1. |
CURLOPT_IPRESOLVE |
Permette ad un'applicazione di selezionare quale tipo di indirizzo IP utilizzare quando
si risolvono i nomi degli host. Questo è interessante solo quando si utilizzano nomi di host che
risolvono indirizzi usando più di una versione di IP, i valori possibili sono
CURL_IPRESOLVE_WHATEVER ,
CURL_IPRESOLVE_V4 ,
CURL_IPRESOLVE_V6 , per valore predefinito
CURL_IPRESOLVE_WHATEVER .
|
Aggiunta in cURL 7.10.8. |
value
dovrebbe essere una string per i
seguenti valori del parametro option
:
Opzione | Imposta value a |
Note |
---|---|---|
CURLOPT_CAINFO |
Il nome di un file che contiene uno o più certificati con cui verificare i
peer. Questo ha senso solo quando è usato in combinazione con
CURLOPT_SSL_VERIFYPEER .
|
Potrebbe richiedere un percorso assoluto. |
CURLOPT_CAPATH |
Una directory che contiene certificati CA multipli. Usare questa opzione
accanto a CURLOPT_SSL_VERIFYPEER .
|
|
CURLOPT_COOKIE |
Il contenuto dell'header "Cookie: " da
utilizzare nella richiesta HTTP.
Notare che i cookie multipli sono separati con un punto e virgola seguito
da uno spazio (per esempio, "fruit=apple; colour=red ")
|
|
CURLOPT_COOKIEFILE |
Il nome del file che contiene i dati dei cookie. Il file dei cookie può essere nel formato Netscape, o anche come semplici header con stile HTTP scaricati in un file. Se il nome è una stringa vuota, non viene caricato nessun cookie, ma la gestione dei cookie è ancora abilitata. | |
CURLOPT_COOKIEJAR |
Il nome di un file per salvare tutti i cookie interni quando il gestore viene chiuso, per esempio dopo una chiamata a curl_close. | |
CURLOPT_CUSTOMREQUEST |
Un metodo di richiesta personalizzato da usare al posto di
|
|
CURLOPT_EGDSOCKET |
Come CURLOPT_RANDOM_FILE , eccetto un nome del file
ad un socket Entropy Gathering Daemon.
|
|
CURLOPT_ENCODING |
I contenuti dell'header "Accept-Encoding: " .
Questo abilita la decodifica della risposta. Le codifiche supportate sono
"identity" , "deflate" , e
"gzip" . Se viene impostata una stringa vuota,
"" , viene inviato un header contenente tutte le codifiche supportate.
|
Aggiunta in cURL 7.10. |
CURLOPT_FTPPORT |
Il valore che verrà usato per ottenere l'indirizzo IP da usare per l'istruzione FTP "PORT". L'istruzione "PORT" dice al server remoto di connetersi al nostro indirizzo IP specificato. La stringa può essere un semplice indirizzo IP, un hostname, un nome di un'interfaccia di rete (sotto Unix), o semplicemente un chiaro '-' per usare l'indirizzo IP di default del sistema. | |
CURLOPT_INTERFACE |
Il nome dell'interfaccia di rete in uscita da utilizzare. Questo può essere un nome di un'interfaccia, un indirizzo IP o un host name. | |
CURLOPT_KEYPASSWD |
La password richiesta per utilizzare la chiave privata CURLOPT_SSLKEY
o la chiave privata CURLOPT_SSH_PRIVATE_KEYFILE .
|
Aggiunta in cURL 7.16.1. |
CURLOPT_KRB4LEVEL |
Il livello di sicurezza KRB4 (Kerberos 4). Ognuno dei seguenti valori
(in ordine dal meno al più potente) sono validi:
"clear" ,
"safe" ,
"confidential" ,
"private". .
Se la stringa non corrisponde ad una di queste,
viene utilizzato "private" . Impostando questa opzione a null
verrà disabilitata la sicurezza di KRB4. Attualmente la sicurezza di KRB4 funziona solo
con transazione FTP.
|
|
CURLOPT_POSTFIELDS |
Tutti i dati da inviare in un'operazione HTTP "POST".
Per effettuare il post di un file, anteporre al nome del file un @ e
utilizzare il percorso completo. Il tipo del file può essere esplicitamente specificato
inserendo dopo il nome del file il tipo nel formato
';type=mimetype '. Questo parametro può essere passato sia
come una stringa codificata in url come 'para1=val1¶2=val2&... '
oppure come un array con il nome del campo come chiave e il dato del campo come valore.
Se value è un array,
l'header Content-Type sarà settato a
multipart/form-data .
Da PHP 5.2.0, value deve essere un array se
i file sono passati a questa opzione con il prefisso @ .
Da PHP 5.5.0, il prefisso @ è deprecato e
i file possono essere inviati usando CURLFile. Il
prefisso @ può essere disabilitato per il passaggio sicuro
dei valori che iniziano con @ impostando
l'opzione CURLOPT_SAFE_UPLOAD a true .
|
|
CURLOPT_PROXY |
Il proxy HTTP da utilizzare come tunnel per le richieste. | |
CURLOPT_PROXYUSERPWD |
Un username ed una password formattati come
"[username]:[password]" da usare per la
connessione al proxy.
|
|
CURLOPT_RANDOM_FILE |
Un nome del file da utilizzare per inizializzare il generatore di numeri casuali per SSL. | |
CURLOPT_RANGE |
L'intervallo di dati da ricevere nel formato
"X-Y" dove X o Y sono opzionali. I trasferimenti HTTP
supportano anche diversi intervalli, separati da virgole nel formato
"X-Y,N-M" .
|
|
CURLOPT_REFERER |
I contenuti dell'header "Referer: " da utilizzare
in una richiesta HTTP.
|
|
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 |
Una stringa contenente 32 cifre esadecimali. La stringa dovrebbe essere il checksum MD5 della chiave pubblica dell'host remoto, e libcurl rifiuterà la connessione all'host a meno che l'md5sums non corrisponda. Questa opzione è solo per i trasferimenti SCP e SFTP. | Aggiunta in cURL 7.17.1. |
CURLOPT_SSH_PUBLIC_KEYFILE |
Il nome del file per la propria chiave pubblica. Se non utilizzato, il valore predefinito di libcurl è $HOME/.ssh/id_dsa.pub se la variabile di ambiente HOME è impostata, e solo "id_dsa.pub" nella directory corrente se HOME non è impostata. | Aggiunta in cURL 7.16.1. |
CURLOPT_SSH_PRIVATE_KEYFILE |
Il nome del file per la propria chiave privata. Se non utilizzato, il valore predefinito di libcurl è
$HOME/.ssh/id_dsa se la variabile di ambiente HOME è impostata,
e solo "id_dsa" nella directory corrente se HOME non è impostata.
Se il file è protetto con password, impostare la password con
CURLOPT_KEYPASSWD .
|
Aggiunta in cURL 7.16.1. |
CURLOPT_SSL_CIPHER_LIST |
Una lista di cifrari da usare per SSL. Per esempio,
RC4-SHA e TLSv1 sono liste
di cifrari valide.
|
|
CURLOPT_SSLCERT |
Il nome di un file contenente un certificato formattato PEM. | |
CURLOPT_SSLCERTPASSWD |
La password richiesta per utilizzare il
certificato CURLOPT_SSLCERT .
|
|
CURLOPT_SSLCERTTYPE |
Il formato del certificato. I formati supportati sono
"PEM" (predefinito), "DER" ,
e "ENG" .
|
Aggiunta in cURL 7.9.3. |
CURLOPT_SSLENGINE |
L'identificatore per il motore di crypto della chiave SSL privata
specificata in CURLOPT_SSLKEY .
|
|
CURLOPT_SSLENGINE_DEFAULT |
L'identificatore per il motore di crypto usato per le operazioni di crypto asimmetriche. | |
CURLOPT_SSLKEY |
Il nome di un file contenente una chiave SSL privata. | |
CURLOPT_SSLKEYPASSWD |
La password segreta necessaria per utilizzare la chiave SSL privata specificata in
|
|
CURLOPT_SSLKEYTYPE |
Il tipo di chiave della chiave SSL privata specificata in
CURLOPT_SSLKEY . I tipi di chiave supportati sono
"PEM" (predefinito), "DER" ,
e "ENG" .
|
|
CURLOPT_URL |
L'URL da raggiungere. Questo può anche essere impostato quando si inizializza una sessione con curl_init(). | |
CURLOPT_USERAGENT |
I contenuti dell'header "User-Agent: " da
utilizzare nella richiesta HTTP.
|
|
CURLOPT_USERPWD |
Un username e password formattati come
"[username]:[password]" da utilizzare per la
connessione.
|
value
dovrebbe essere un array per i
seguenti valori del parametro option
:
Opzione | Imposta value a |
Note |
---|---|---|
CURLOPT_HTTP200ALIASES |
Un array di risposte HTTP 200 che saranno trattate come risposte valide e non come errori. | Aggiunta in cURL 7.10.3. |
CURLOPT_HTTPHEADER |
Un array di campi header HTTP da impostare, nel formato
array('Content-type: text/plain', 'Content-length: 100')
|
|
CURLOPT_POSTQUOTE |
Un array di comandi FTP da eseguire sul server dopo che la richiesta FTP è stata eseguita. | |
CURLOPT_QUOTE |
Un array di comandi FTP da eseguire sul server prima della richiesta FTP. |
value
dovrebbe essere una risorsa di flusso (usando
fopen(), per esempio) per i seguenti valori del
parametro option
:
Opzione | Imposta value a |
---|---|
CURLOPT_FILE |
Il file sul quale dovrebbe scrivere il trasferimento. Il valore predefinito
è STDOUT (la finestra del browser).
|
CURLOPT_INFILE |
Il file dal quale il trasferimento dovrebbe leggere in fase di upload. |
CURLOPT_STDERR |
Una posizione alternativa sulla quale stampare gli errori invece di
STDERR .
|
CURLOPT_WRITEHEADER |
Il file sul quale è scritta la parte degli header del trasferimento. |
value
dovrebbe essere il nome di una funzione o di una Closure valida
per i seguenti valori del parametro option
:
Opzione | Imposta value a |
---|---|
CURLOPT_HEADERFUNCTION |
Una callback che accetta due parametri. Il primo è la risorsa cURL, il secondo è una stringa con i dati dell'header da scrivere. I dati degli header devono essere scritti da questa callback. Restituisce il numero di byte scritti. |
CURLOPT_PASSWDFUNCTION |
Una callback che accetta tre parametri. Il primo è la risorsa cURL, il secondo è una stringa contenente una richiesta di password, e il terzo è la massima lunghezza della password. Restituisce la stringa contenente la password. |
CURLOPT_PROGRESSFUNCTION |
Una callback che accetta cinque parametri. Il primo è la risorsa cURL, il secondo è il numero totale di byte attesi da scaricare in questo trasferimento, il terzo è il numero di byte scaricati finora, il quarto è il totale numero di byte attesi da uploadare in questo trasferimento, e il quinto è il numero di byte uploadati finora.
Restituisce un valore non zero per abortire il trasferimento. In tal caso, il
trasferimento imposterà un errore
|
CURLOPT_READFUNCTION |
Una callback che accetta tre parametri.
Il primo è la risorsa cURL, il secondo è un
flusso di risorsa fornito a cURL attraverso l'opzione
CURLOPT_INFILE , e il terzo è la massima
quantità di dati da leggere. La callback deve restituire una stringa
con una dimensione uguale o minore della quantità di dati richiesti,
tipicamente leggendola dal flusso di risorsa passato. Dovrebbe
restituire una stringa vuota per segnalare EOF .
|
CURLOPT_WRITEFUNCTION |
Una callback che accetta due parametri. Il primo è la risorsa cURL, e il secondo è una stringa con i dati da scrivere. I dati devono essere salvati da questa callback. Essa deve restituire l'esatto numero di byte scritti o il trasferimento verrà abortito con un errore. |
Altri valori:
Opzione | Imposta value a |
---|---|
CURLOPT_SHARE |
Un risultato di curl_share_init(). Fa utilizzare al gestore cURL i dati dal gestore condiviso. |
Versione | Descrizione |
---|---|
5.6.0 |
CURLOPT_SAFE_UPLOAD è ora true per impostazione predefinita.
|
5.6.0 |
Rimosso CURLOPT_CLOSEPOLICY e i suoi valori associati.
|
5.5.0 |
Aggiunta la risorsa cURL come primo argomento alla
callback CURLOPT_PROGRESSFUNCTION .
|
5.5.0 |
Introdotto CURLOPT_SHARE .
|
5.3.0 |
Introdotto CURLOPT_PROGRESSFUNCTION .
|
5.2.10 |
Introdotto CURLOPT_PROTOCOLS , e
CURLOPT_REDIR_PROTOCOLS .
|
5.1.0 |
Introdotto CURLOPT_AUTOREFERER ,
CURLOPT_BINARYTRANSFER ,
CURLOPT_FTPSSLAUTH ,
CURLOPT_PROXYAUTH , e
CURLOPT_TIMECONDITION .
|
5.0.0 |
Introdotto CURLOPT_FTP_USE_EPRT ,
CURLOPT_NOSIGNAL ,
CURLOPT_UNRESTRICTED_AUTH ,
CURLOPT_BUFFERSIZE ,
CURLOPT_HTTPAUTH ,
CURLOPT_PROXYPORT ,
CURLOPT_PROXYTYPE ,
CURLOPT_SSLCERTTYPE , e
CURLOPT_HTTP200ALIASES .
|
Example #1 Inizializzazione di una nuova sessione cURL e recuperare una pagina web
<?php
// crea una nuova risorsa cURL
$ch = curl_init();
// imposta l'URL e altre opzioni appropriate
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);
// prende l'URL e lo passa al browser
curl_exec($ch);
// chiude la risorsa cURL, e libera le risorse del sistema
curl_close($ch);
?>
Example #2 Effettuare l'upload di un file (deprecato in PHP 5.5.0)
<?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_SAFE_UPLOAD, false); // richiesto in PHP 5.6.0
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
?>
Il precedente esempio visualizzerà:
Array ( [name] => Foo ) Array ( [file] => Array ( [name] => test.png [type] => image/png [tmp_name] => /tmp/phpcpjNeQ [error] => 0 [size] => 279 ) )
Nota:
Passando un array a
CURLOPT_POSTFIELDS
i dati verranno codificati come multipart/form-data, mentre passando una stringa codificata come URL i dati verranno codificati come application/x-www-form-urlencoded.