curl_setopt

(PHP 4 >= 4.0.2, PHP 5)

curl_setopt -- Imposta una opzione per un trasferimento CURL

Descrizione

bool curl_setopt ( resource ch, int option, mixed valore )

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):

OptionSet value toNotes
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.

Nota: PHP automaticamente imposta questa opzione a TRUE dovrebbe essere cambiata solo per operazioni di debug.

 
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 :

OptionSet value toNotes
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: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_ANY, e CURLAUTH_ANYSAFE.

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.

CURLAUTH_ANY è un alias per CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLAUTH_ANYSAFE è un alias per CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

 
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 :

OptionSet value toNotes
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.

Nota: Non fare ciò senza essere sicuri che innanzitutto il vostro server supporti il metodo di richiesta custom.

 
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.

Nota: Siccome questa opzione contiene una password di tipo sensitive, bisogna ricordarsi di mantenere lo script PHP, in cui è contenuto, sicuro.

 
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 :

OptionSet value toNotes
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 :

OptionSet value toNotes
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 :

OptionSet value toNotes
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.  

Esempio 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);
      
?>

Hosting by: hurra.com
Generated: 2007-01-26 17:56:23