(PHP 4 >= 4.0.2, PHP 5)
curl_setopt — Imposta una opzione per un trasferimento CURL
Imposta le opzioni per una sessione CURL identificata dal parametro
ch
. opzione
specifica quale opzione impostare e
valore
specifica il valore per l'opzione data.
valore
dovrebbe essere di tipo booleano per
i seguenti valori del parametro opzione
):
Option | Set value to |
Notes |
---|---|---|
CURLOPT_BINARYTRANSFER |
TRUE restituisce la riga di output quando
CURLOPT_RETURNTRANSFER è usata.
|
|
CURLOPT_CRLF |
TRUE per convertire la Unix newlines in CRLF newlines
per i trasferimenti.
|
|
CURLOPT_DNS_USE_GLOBAL_CACHE |
TRUE per usare una cache gobale DNS. Questa opzione non è
thread-safe ed è abilitata per default.
|
|
CURLOPT_FAILONERROR |
TRUE per terminare in maniera silenziosa se il codice HTTP restituito
è maggiore di 300. Il comportamento di default è di restituire la
pagina normalmente, ignorando il codice.
|
|
CURLOPT_FILETIME |
TRUE per cercare di recuperare la data di modifica
del documento remoto. Si può cercare di ripristinare questo valore usando
l'opzione CURLINFO_FILETIME con
curl_getinfo().
|
|
CURLOPT_FOLLOWLOCATION |
TRUE per seguire una qualunque
"Location: " intestazione inviata dal server come
parte dell' header HTTP (notare che è ricorsiva, PHP seguirà come molte
"Location: " intestazioni inviate,
a meno che CURLOPT_MAXREDIRS sia impostata).
|
|
CURLOPT_FORBID_REUSE |
TRUE forza la chiusura esplicita della connessione
quando ha finito il processo e non può essere riutilizzata.
|
|
CURLOPT_FRESH_CONNECT |
TRUE forza l'uso di una nuova connessione
invece di usarne una in cache.
|
|
CURLOPT_FTP_USE_EPRT |
TRUE per usare EPRT (e LPRT) quando si opera un
download FTP. Usa FALSE per disaibilitare EPRT e LPRT e usare PORT
solamente.
|
|
CURLOPT_FTP_USE_EPSV |
TRUE prima cerca un comando EPSV per trasferimento
FTP prima di ritornare alla modalità PASV. Imposta a FALSE
per disabilitare EPSV.
|
|
CURLOPT_FTPAPPEND |
TRUE per accodare aò file remoto invece di
sovrascriverlo.
|
|
CURLOPT_FTPASCII |
Un alias di
CURLOPT_TRANSFERTEXT . Usarlo al suo posto.
|
|
CURLOPT_FTPLISTONLY |
TRUE per elencare solamente i nomi di
una directory FTP.
|
|
CURLOPT_HEADER |
TRUE per includere l'intestazione in output.
|
|
CURLOPT_HTTPGET |
TRUE per resettare la richiesta HTTP col metodo GET.
Dopo che GET è il default, diventa necessario solo se il metodo
di richiesta è cambiato.
|
|
CURLOPT_HTTPPROXYTUNNEL |
TRUE per passare attraverso un proxy HTTP fornito.
|
|
CURLOPT_MUTE |
TRUE per essere totalemtne silenzioso nei riguardi di
una funzione CURL.
|
|
CURLOPT_NETRC |
TRUE per condurre il file ~/.netrc
a trovare username e password per il sito remoto col
quale si stabilisce una connessione.
|
|
CURLOPT_NOBODY |
TRUE esclude il corpo dall'output.
|
|
CURLOPT_NOPROGRESS |
TRUE per disabilitare il progress meter per trasferimetni CURL.
|
|
CURLOPT_NOSIGNAL |
TRUE per ignorare qualunque funzione CURL che causa
l'invio di un segnale a un processo PHP. Ciò è settato come default
con le multi-threaded SAPI in modo che le opzioni di timeout possano essere ancora
usate.
|
Aggiunto in CURL 7.10. |
CURLOPT_POST |
TRUE per compiere un regolare HTTP POST. Questo POST è il tipo
normale di application/x-www-form-urlencoded,
più comunemente usata 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 restituito di curl_exec() al posto di metterlo in
output direttamente.
|
|
CURLOPT_SSL_VERIFYPEER |
FALSE per fermare CURL dal verificare i certificati dei peer.
Un certificato alternativo di verificare può essere specificato
con l'opzione CURLOPT_CAINFO
o una directory certificata può essere specificata con l'opzione
CURLOPT_CAPATH .
CURLOPT_SSL_VERIFYHOST può anche dover essere messa
TRUE o FALSE se
CURLOPT_SSL_VERIFYPEER è disabilitata (il
default è 2).
|
TRUE per default nel CURL 7.10. Default bundle installed as of
CURL 7.10.
|
CURLOPT_TRANSFERTEXT |
TRUE per usare la modalità ASCII per trasferimenti FTP.
Per LDAP, riporta i dati in testo iano invece che in HTML. Sui
sistemi Windows, non imposterà STDOUT alla modalità
binaria.
|
|
CURLOPT_UNRESTRICTED_AUTH |
TRUE invia username e password
quando le seguenti locazioni (che usano
CURLOPT_FOLLOWLOCATION ), anche quando
l'hostname è cambiato.
|
|
CURLOPT_UPLOAD |
TRUE per preparare un upload.
|
|
CURLOPT_VERBOSE |
TRUE per inviare un'informazione di tipo verbose. Scrive
l'output su STDERR, o sul file specificato usando
CURLOPT_STDERR .
|
value
dovrebbe essere un intero per i
seguenti valori del parametro option
:
Option | Set value to |
Notes |
---|---|---|
CURLOPT_BUFFERSIZE |
La dimensione del buffer da utilizzare per ogni lettura. Non è garantito che questa richiesta venga soddisfatta, comunque. | Aggiunto in CURL 7.10. |
CURLOPT_CLOSEPOLICY |
Anche
CURLCLOSEPOLICY_LEAST_RECENTLY_USED or
CURLCLOSEPOLICY_OLDEST .
Ci sono altri tre CURLCLOSEPOLICY_
costanti, ma CURL non li supporta ancora.
|
|
CURLOPT_CONNECTTIMEOUT |
Il numero di secondi da aspettare mentre si cerca di connettersi. Usare 0 per aspettare indefinitamente. | |
CURLOPT_DNS_CACHE_TIMEOUT |
Il numero di secondi con cui mantenere le istanze DNS in memoria. Questa opzio è posta a 120 (2 minuti) per default. | |
CURLOPT_FTPSSLAUTH |
Il metodo di autenticazione FTP (quando attivato): CURLFTPAUTH_SSL (cerca per primo SSL), CURLFTPAUTH_TLS (cerca per primo SSL), o CURLFTPAUTH_DEFAULT (lascia decidere a CURL). | Aggiunto in CURL 7.12.2 e disponibile da PHP 5.1.0 |
CURLOPT_HTTP_VERSION |
CURL_HTTP_VERSION_NONE (default, lascia decidere CURL
quale versione usare),
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 usare. Le opzioni sono:
Si può usre l'operatore binario | (or) per combinare più di un metodo. In questo caso, CURL testerà il server per vedere quali metodi esso supporta e sceglierà il migliore.
|
|
CURLOPT_INFILESIZE |
La grandezza attesa, in bytes, del file quando si invia (upload) un file a un sito remoto. | |
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 to 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 rasmisiosne troppo lenta e la abortisca.
|
|
CURLOPT_MAXCONNECTS |
L'ammontare massimo di connessioni persistenti consentite.
Quando il limite è raggiunto,
CURLOPT_CLOSEPOLICY viene usata per determinare
quale connessione chiudere.
|
|
CURLOPT_MAXREDIRS |
L'ammontare massimo di redirezioni HTTP da seguire. Usare questa opzione
insieme a CURLOPT_FOLLOWLOCATION .
|
|
CURLOPT_PORT |
Un numero di porta alternativo a cui connettersi. | |
CURLOPT_PROXYAUTH |
Il metodo di autenticazione HTTP da usare per la connessione al proxy.
Usare la stessa bitmask come descritto in in
CURLOPT_HTTPAUTH . Per l'autenticazione del proxy,
solo CURLAUTH_BASIC e
CURLAUTH_NTLM sono attualmente supportate.
|
Aggiunto in CURL 7.10.7 e PHP 5.1.0. |
CURLOPT_PROXYPORT |
Il numero di porta del proxy alla quale connettersi. Questo numero può essere
anche impostato in CURLOPT_PROXY .
|
|
CURLOPT_PROXYTYPE |
Anche CURLPROXY_HTTP (default) o
CURLPROXY_SOCKS5 .
|
Aggiunto in CURL 7.10. |
CURLOPT_RESUME_FROM |
L' offset, in byte, per ripristinare un trasferimento. | |
CURLOPT_SSL_VERIFYHOST |
1 per verificare l'esistenza di un nome comune nel certificato SSL peer . 2 per verificare l'esistenza di un nome comune e verificare inoltre che soddisfi l'hostname fornito. | |
CURLOPT_SSLVERSION |
La versione SSL (2 or 3) da usare. Per default PHP cercherà di determinare ciò da se stesso, benchè in alcuni casi si possa impostarlo manualmente. | |
CURLOPT_TIMECONDITION |
Come CURLOPT_TIMEVALUE è trattato.
Usare CURL_TIMECOND_IFMODSINCE per restituire la
pagina solo se è stata mpdificata dalla data specificata in
CURLOPT_TIMEVALUE . Se non è stata modificata,
un "304 Not Modified" header sarà restituito
assumendo che CURLOPT_HEADER è TRUE .
Usare CURL_TIMECOND_ISUNMODSINCE per l'effetto
opposto. CURL_TIMECOND_IFMODSINCE è il
default.
|
Aggiunto in PHP 5.1.0. |
CURLOPT_TIMEOUT |
Il numero massimo di secondi per permettere alle funzioni CURL di essere eseguite. | |
CURLOPT_TIMEVALUE |
Il tempo in secondi dal 1 Gennaio 1970. Il tempo verrà usato
da CURLOPT_TIMECONDITION . Per default,
CURL_TIMECOND_IFMODSINCE è usato.
|
value
dovrebbe essere una stringa per i seguenti
valori del parametro option
:
Option | Set value to |
Notes |
---|---|---|
CURLOPT_CAINFO |
Il nome di un file contenente uno o più certificati che verificano la
parità. Ciò ha significato solo quando usato in combinazione con
CURLOPT_SSL_VERIFYPEER .
|
|
CURLOPT_CAPATH |
Una directory che contiene certificati multipli CA. Usare questa opzione
insieme a CURLOPT_SSL_VERIFYPEER .
|
|
CURLOPT_COOKIE |
The contents of the "Set-Cookie: " header to be used in the HTTP request. | |
CURLOPT_COOKIEFILE |
Il nome del file che contiene i dati del cookie. Il cookie può essere nel formato Netscape, o solo un semplice header HTTP-style allegato in un file. | |
CURLOPT_COOKIEJAR |
Il nome di un file in cui salvare tutti i cookie interni finchè la connessione termina. | |
CURLOPT_CUSTOMREQUEST |
Un metodo custom di richiesta da usare al posto di
"GET" o "HEAD" quando avviene una
richiesta HTTP. Ciò è utile per un
"DELETE" o altro, in più nasconde le richieste HTTP.
Valori validi sono termini quali "GET",
"POST", "CONNECT" e così via;
i.e. Non inserire un'intera riga di richieste HTTP qui. Ad esempio,
scrivere "GET /index.html HTTP/1.0\r\n\r\n"
sarebbe errato.
|
|
CURLOPT_EGBSOCKET |
Come CURLOPT_RANDOM_FILE , ecetto un filename
per un Entropy Gathering Daemon socket.
|
|
CURLOPT_ENCODING |
I contenuti di un' "Accept-Encoding: " header. Ciò abilita la decodifica della risposta. Termini supportati sono "identity", "deflate", e "gzip". Se viene impostata una stringa vuota, "", viene inviato un header contenente tutti i tipi di termini supportati. | |
CURLOPT_FTPPORT |
Il valore che verrà utilizzato per ottenere un indirizzo IP da usare per l'istruzione FTP "POST" . L'istruzione "POST" indica al server remoto il proprio indirizzo IP a cui connettersi. La stringa può essere un semplice indirizzo IP, un hostname, un nome di un'interfaccia di rete (sotto Unix), o un semplice '-' per usare l'indirizzo Ip del sistema di default. | |
CURLOPT_INTERFACE |
Il nome di un'interfaccia di rete di uscita da usare. Può essere il nome di un'interfaccia, un indirizzo IP o un host name. | |
CURLOPT_KRB4LEVEL |
Il livello di sicurezza KRB4 (Kerberos 4). Uno qualunque dei valori seguenti
(in ordine dal meno al più significativo) sono validi:
"clear",
"safe",
"confidential",
"private"..
Se la stringa non corrisponde a uno di questi, si usa
"private". Impostando questa opzione a NULL
disabilita la sicurezza KRB4. Attualmente la sicurezza KRB4 lavora solamente con
transazioni FTP.
|
|
CURLOPT_POSTFIELDS |
I dati completi da mandare in post in un'operazione HTTP "POST" . | |
CURLOPT_PROXY |
Il proxy HTTP in cui veicolare le richieste. | |
CURLOPT_PROXYUSERPWD |
Username e password formattate come "[username]:[password]" da usare per la connessione al proxy. | |
CURLOPT_RANDOM_FILE |
IL nome del file da passare al generatore di numeri casuali per SSL. | |
CURLOPT_RANGE |
Intervallo(i) di dati da ricevere nel formato "X-Y" dove X o Y sono opzionali. I trasferimenti HTTP supportano inoltre svariati intervalli, separati da virgole nel formato "X-Y,N-M". | |
CURLOPT_REFERER |
Il contenuto dell'header "Referer: " da usare in una richiesta HTTP. | |
CURLOPT_SSL_CIPHER_LIST |
Elenco di cifre da usare con SSL. Per esempio, RC4-SHA e TLSv1 sono elenchi validi di cifre. | |
CURLOPT_SSLCERT |
Il nome di un file contenente un certificato PEM formattato. | |
CURLOPT_SSLCERTPASSWD |
La password richiesta per usare il
CURLOPT_SSLCERT certificato.
|
|
CURLOPT_SSLCERTTYPE |
Il formato del certificato. Formati ammessi sono "PEM" (default), "DER", e "ENG". | Aggiunto in CURL 7.9.3. |
CURLOPT_SSLENGINE |
L' identificatore per il cripto-motore della chiave privata SSL
specificata in CURLOPT_SSLKEY .
|
|
CURLOPT_SSLENGINE_DEFAULT |
L' identificatore per il motore crypto usato per cripto-operazioni asimmetriche. | |
CURLOPT_SSLKEY |
Il nome di un file contenente una chiave privata SSL. | |
CURLOPT_SSLKEYPASSWD |
La password segreta necessaria per usare la chiave privata SSL specificata in
CURLOPT_SSLKEY .
|
|
CURLOPT_SSLKEYTYPE |
Il tipo di chiave della chiave privata SSL specificata in
CURLOPT_SSLKEY . I tipi di chiavi supportate sono
"PEM" (default), "DER",
e "ENG".
|
|
CURLOPT_URL |
L' URL da raggiungere. E' possibnile impostarla quando si inizializza una sessione con curl_init(). | |
CURLOPT_USERAGENT |
I contenuti dell'header "User-Agent: " da usare in una richiesta HTTP. | |
CURLOPT_USERPWD |
Username e password formattate come "[username]:[password]" da usare per la connessione. |
value
dovrebbe essere un array per i
seguenti valori del parametro option
:
Option | Set value to |
Notes |
---|---|---|
CURLOPT_HTTP200ALIASES |
Un array di 200 risposte HTTP che saranno trattate come risposte valide e non come errori. | Aggiunto in CURL 7.10.3. |
CURLOPT_HTTPHEADER |
Un array di campi di header HTTP da impostare. | |
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 commands da eseguire sul server prima della richiesta FTP. |
value
dovrebbe essere una risorsa di streaming (usando
fopen(), per esempio) per i seguenti valori del parametro
option
:
Option | Set value to |
Notes |
---|---|---|
CURLOPT_FILE |
Il file che il trasferimento dovrebbe scrivere. Il default è STDOUT (la finestra del browser). | |
CURLOPT_INFILE |
Il file ce il trasferimento dovrebbe leggere quando si fa un upload. | |
CURLOPT_STDERR |
Una locazione alternativa per gli errori di output al posto di STDERR. | |
CURLOPT_WRITEHEADER |
Il file su cui viene scritto l' header parte del trasferimento. |
value
dovrebbe essere una stringa col nome di una funzione
di callback valida per i seguenti valori del parametro
option
:
Option | Set value to |
Notes |
---|---|---|
CURLOPT_HEADERFUNCTION |
Il nome della funzione di callback la quale prende due parametri. il primo è la risorsa CURL, il secondo è una stringa con i dati dell'header da scrivere. Usando questa funzione di callback, diventa propria la responsabilità di scrivere i dati di header. Restituisce il numero di bytes scritti. | |
CURLOPT_PASSWDFUNCTION |
Il nome della funzione di callback che prende tre parametri. Il primo è la risorsa CURL, il secondo è una stringa contenente la richiesta di password e il terzo è la lunghezza massima della password. Restituisce la stringa che contiene la password. | |
CURLOPT_READFUNCTION |
Il nome della funzione di callback che prende due parametri. Il primo è la risorsa CURL, e il secondo è una stringa con i dati da leggere. Usindo questa funzione di callback, diventa propria la responsabilità di leggere i dati. Restituisce il numero di bytes letti. Restituisce 0 per un segnale di EOF. | |
CURLOPT_WRITEFUNCTION |
Il nome della funzione di callback che prende due parametri. Il primo è la risorsa CURL, e il secondo è una stringa con i dati da scrivere. Usindo questa funzione di callback, diventa propria la responsabilità di scrivere i dati. Deve restituire l'esatto numero di bytes scritti altrimenti fallisce. |
Example #1 Inizializza una sessione CURL nuova e carica una pagina web
<?php
// crea una nuova risorsa CURL
$ch = curl_init();
// imposta l'URL e altre opzioni spedifiche
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);
// carica l' URL e la passa al browser
curl_exec($ch);
// chiude la risorsa CURL e rilascia le risorse di sistema
curl_close($ch);
?>