SunshinePHP Developer Conference 2015

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Une description ainsi que la façon dont on utilise ces constantes se trouvent dans la documentation des fonctions curl_setopt(), curl_multi_setopt() et curl_getinfo().

CURLOPT_AUTOREFERER (entier)
Disponible depuis PHP 5.1.0
CURLOPT_COOKIESESSION (entier)
Disponible depuis PHP 5.1.0
CURLOPT_DNS_USE_GLOBAL_CACHE (entier)
CURLOPT_DNS_CACHE_TIMEOUT (entier)
CURLOPT_FTP_SSL (entier)
Disponible depuis PHP 5.2.0
CURLFTPSSL_TRY (entier)
Disponible depuis PHP 5.2.0
CURLFTPSSL_ALL (entier)
Disponible depuis PHP 5.2.0
CURLFTPSSL_CONTROL (entier)
Disponible depuis PHP 5.2.0
CURLFTPSSL_NONE (entier)
Disponible depuis PHP 5.2.0
CURLOPT_PRIVATE (entier)
Disponible depuis PHP 5.2.4
CURLOPT_FTPSSLAUTH (entier)
Disponible depuis PHP 5.1.0
CURLOPT_PORT (entier)
CURLOPT_FILE (entier)
CURLOPT_INFILE (entier)
CURLOPT_INFILESIZE (entier)
CURLOPT_URL (entier)
CURLOPT_PROXY (entier)
CURLOPT_VERBOSE (entier)
CURLOPT_HEADER (entier)
CURLOPT_HTTPHEADER (entier)
CURLOPT_NOPROGRESS (entier)
CURLOPT_NOBODY (entier)
CURLOPT_FAILONERROR (entier)
CURLOPT_UPLOAD (entier)
CURLOPT_POST (entier)
CURLOPT_FTPLISTONLY (entier)
CURLOPT_FTPAPPEND (entier)
CURLOPT_FTP_CREATE_MISSING_DIRS (entier)
CURLOPT_NETRC (entier)
CURLOPT_FOLLOWLOCATION (entier)
Cette constante n'est pas disponible lorsque open_basedir ou safe_mode est actif.
CURLOPT_FTPASCII (entier)
CURLOPT_PUT (entier)
CURLOPT_MUTE (entier)
CURLOPT_USERPWD (entier)
CURLOPT_PROXYUSERPWD (entier)
CURLOPT_RANGE (entier)
CURLOPT_TIMEOUT (entier)
CURLOPT_TIMEOUT_MS (entier)
CURLOPT_TCP_NODELAY (entier)
Disponible depuis PHP 5.2.1
CURLOPT_POSTFIELDS (entier)
CURLOPT_PROGRESSFUNCTION (entier)
Disponible depuis PHP 5.3.0
CURLOPT_REFERER (entier)
CURLOPT_USERAGENT (entier)
CURLOPT_FTPPORT (entier)
CURLOPT_FTP_USE_EPSV (entier)
CURLOPT_LOW_SPEED_LIMIT (entier)
CURLOPT_LOW_SPEED_TIME (entier)
CURLOPT_RESUME_FROM (entier)
CURLOPT_SSLCERT (entier)
CURLOPT_SSLCERTPASSWD (entier)
CURLOPT_WRITEHEADER (entier)
CURLOPT_SSL_VERIFYHOST (entier)
CURLOPT_COOKIEFILE (entier)
CURLOPT_SSLVERSION (entier)
CURLOPT_TIMECONDITION (entier)
CURLOPT_TIMEVALUE (entier)
CURLOPT_CUSTOMREQUEST (entier)
CURLOPT_STDERR (entier)
CURLOPT_TRANSFERTEXT (entier)
CURLOPT_RETURNTRANSFER (entier)
CURLOPT_QUOTE (entier)
CURLOPT_POSTQUOTE (entier)
CURLOPT_INTERFACE (entier)
CURLOPT_KRB4LEVEL (entier)
CURLOPT_HTTPPROXYTUNNEL (entier)
CURLOPT_FILETIME (entier)
CURLOPT_WRITEFUNCTION (entier)
CURLOPT_READFUNCTION (entier)
CURLOPT_PASSWDFUNCTION (entier)
CURLOPT_HEADERFUNCTION (entier)
CURLOPT_MAXREDIRS (entier)
CURLOPT_MAXCONNECTS (entier)
CURLOPT_CLOSEPOLICY (entier)
Supprimé en PHP 5.6.0.
CURLOPT_FRESH_CONNECT (entier)
CURLOPT_FORBID_REUSE (entier)
CURLOPT_RANDOM_FILE (entier)
CURLOPT_EGDSOCKET (entier)
CURLOPT_CONNECTTIMEOUT (entier)
CURLOPT_CONNECTTIMEOUT_MS (entier)
CURLOPT_SSL_VERIFYPEER (entier)
CURLOPT_CAINFO (entier)
CURLOPT_CAPATH (entier)
CURLOPT_COOKIEJAR (entier)
CURLOPT_SSL_CIPHER_LIST (entier)
CURLOPT_BINARYTRANSFER (entier)
CURLOPT_NOSIGNAL (entier)
CURLOPT_PROXYTYPE (entier)
CURLOPT_BUFFERSIZE (entier)
CURLOPT_HTTPGET (entier)
CURLOPT_HTTP_VERSION (entier)
CURLOPT_SSLKEY (entier)
CURLOPT_SSLKEYTYPE (entier)
CURLOPT_SSLKEYPASSWD (entier)
CURLOPT_SSLENGINE (entier)
CURLOPT_SSLENGINE_DEFAULT (entier)
CURLOPT_SSLCERTTYPE (entier)
CURLOPT_CRLF (entier)
CURLOPT_ENCODING (entier)
CURLOPT_PROXYPORT (entier)
CURLOPT_UNRESTRICTED_AUTH (entier)
CURLOPT_FTP_USE_EPRT (entier)
CURLOPT_HTTP200ALIASES (entier)
CURLOPT_HTTPAUTH (entier)
CURLAUTH_BASIC (entier)
CURLAUTH_DIGEST (entier)
CURLAUTH_GSSNEGOTIATE (entier)
CURLAUTH_NTLM (entier)
CURLAUTH_ANY (entier)
CURLAUTH_ANYSAFE (entier)
CURLOPT_PROXYAUTH (entier)
CURLOPT_MAX_RECV_SPEED_LARGE (entier)
Disponible depuis PHP 5.4.0 et cURL 7.15.5
CURLOPT_MAX_SEND_SPEED_LARGE (entier)
Disponible depuis PHP 5.4.0 et cURL 7.15.5
CURLCLOSEPOLICY_LEAST_RECENTLY_USED (entier)
Supprimé en PHP 5.6.0.
CURLCLOSEPOLICY_LEAST_TRAFFIC (entier)
Supprimé en PHP 5.6.0.
CURLCLOSEPOLICY_SLOWEST (entier)
Supprimé en PHP 5.6.0.
CURLCLOSEPOLICY_CALLBACK (entier)
Supprimé en PHP 5.6.0.
CURLCLOSEPOLICY_OLDEST (entier)
Supprimé en PHP 5.6.0.
CURLINFO_PRIVATE (entier)
Disponible depuis PHP 5.2.4
CURLINFO_EFFECTIVE_URL (entier)
CURLINFO_HTTP_CODE (entier)
CURLINFO_HEADER_OUT (entier)
Disponible depuis PHP 5.1.3
CURLINFO_HEADER_SIZE (entier)
CURLINFO_REQUEST_SIZE (entier)
CURLINFO_TOTAL_TIME (entier)
CURLINFO_NAMELOOKUP_TIME (entier)
CURLINFO_CONNECT_TIME (entier)
CURLINFO_PRETRANSFER_TIME (entier)
CURLINFO_SIZE_UPLOAD (entier)
CURLINFO_SIZE_DOWNLOAD (entier)
CURLINFO_SPEED_DOWNLOAD (entier)
CURLINFO_SPEED_UPLOAD (entier)
CURLINFO_FILETIME (entier)
CURLINFO_SSL_VERIFYRESULT (entier)
CURLINFO_CONTENT_LENGTH_DOWNLOAD (entier)
CURLINFO_CONTENT_LENGTH_UPLOAD (entier)
CURLINFO_STARTTRANSFER_TIME (entier)
CURLINFO_CONTENT_TYPE (entier)
CURLINFO_REDIRECT_TIME (entier)
CURLINFO_REDIRECT_COUNT (entier)
CURL_TIMECOND_IFMODSINCE (entier)
CURL_TIMECOND_IFUNMODSINCE (entier)
CURL_TIMECOND_LASTMOD (entier)
CURL_VERSION_IPV6 (entier)
CURL_VERSION_KERBEROS4 (entier)
CURL_VERSION_SSL (entier)
CURL_VERSION_LIBZ (entier)
CURLVERSION_NOW (entier)
CURLE_OK (entier)
CURLE_UNSUPPORTED_PROTOCOL (entier)
CURLE_FAILED_INIT (entier)
CURLE_URL_MALFORMAT (entier)
CURLE_URL_MALFORMAT_USER (entier)
CURLE_COULDNT_RESOLVE_PROXY (entier)
CURLE_COULDNT_RESOLVE_HOST (entier)
CURLE_COULDNT_CONNECT (entier)
CURLE_FTP_WEIRD_SERVER_REPLY (entier)
CURLE_FTP_ACCESS_DENIED (entier)
CURLE_FTP_USER_PASSWORD_INCORRECT (entier)
CURLE_FTP_WEIRD_PASS_REPLY (entier)
CURLE_FTP_WEIRD_USER_REPLY (entier)
CURLE_FTP_WEIRD_PASV_REPLY (entier)
CURLE_FTP_WEIRD_227_FORMAT (entier)
CURLE_FTP_CANT_GET_HOST (entier)
CURLE_FTP_CANT_RECONNECT (entier)
CURLE_FTP_COULDNT_SET_BINARY (entier)
CURLE_PARTIAL_FILE (entier)
CURLE_FTP_COULDNT_RETR_FILE (entier)
CURLE_FTP_WRITE_ERROR (entier)
CURLE_FTP_QUOTE_ERROR (entier)
CURLE_HTTP_NOT_FOUND (entier)
CURLE_WRITE_ERROR (entier)
CURLE_MALFORMAT_USER (entier)
CURLE_FTP_COULDNT_STOR_FILE (entier)
CURLE_READ_ERROR (entier)
CURLE_OUT_OF_MEMORY (entier)
CURLE_OPERATION_TIMEOUTED (entier)
CURLE_FTP_COULDNT_SET_ASCII (entier)
CURLE_FTP_PORT_FAILED (entier)
CURLE_FTP_COULDNT_USE_REST (entier)
CURLE_FTP_COULDNT_GET_SIZE (entier)
CURLE_HTTP_RANGE_ERROR (entier)
CURLE_HTTP_POST_ERROR (entier)
CURLE_SSL_CONNECT_ERROR (entier)
CURLE_FTP_BAD_DOWNLOAD_RESUME (entier)
CURLE_FILE_COULDNT_READ_FILE (entier)
CURLE_LDAP_CANNOT_BIND (entier)
CURLE_LDAP_SEARCH_FAILED (entier)
CURLE_LIBRARY_NOT_FOUND (entier)
CURLE_FUNCTION_NOT_FOUND (entier)
CURLE_ABORTED_BY_CALLBACK (entier)
CURLE_BAD_FUNCTION_ARGUMENT (entier)
CURLE_BAD_CALLING_ORDER (entier)
CURLE_HTTP_PORT_FAILED (entier)
CURLE_BAD_PASSWORD_ENTERED (entier)
CURLE_TOO_MANY_REDIRECTS (entier)
CURLE_UNKNOWN_TELNET_OPTION (entier)
CURLE_TELNET_OPTION_SYNTAX (entier)
CURLE_OBSOLETE (entier)
CURLE_SSL_PEER_CERTIFICATE (entier)
CURLE_GOT_NOTHING (entier)
CURLE_SSL_ENGINE_NOTFOUND (entier)
CURLE_SSL_ENGINE_SETFAILED (entier)
CURLE_SEND_ERROR (entier)
CURLE_RECV_ERROR (entier)
CURLE_SHARE_IN_USE (entier)
CURLE_SSL_CERTPROBLEM (entier)
CURLE_SSL_CIPHER (entier)
CURLE_SSL_CACERT (entier)
CURLE_BAD_CONTENT_ENCODING (entier)
CURLE_LDAP_INVALID_URL (entier)
CURLE_FILESIZE_EXCEEDED (entier)
CURLE_FTP_SSL_FAILED (entier)
CURLFTPAUTH_DEFAULT (entier)
Disponible depuis PHP 5.1.0
CURLFTPAUTH_SSL (entier)
Disponible depuis PHP 5.1.0
CURLFTPAUTH_TLS (entier)
Disponible depuis PHP 5.1.0
CURLPROXY_HTTP (entier)
CURLPROXY_SOCKS5 (entier)
CURL_NETRC_OPTIONAL (entier)
CURL_NETRC_IGNORED (entier)
CURL_NETRC_REQUIRED (entier)
CURL_HTTP_VERSION_NONE (entier)
CURL_HTTP_VERSION_1_0 (entier)
CURL_HTTP_VERSION_1_1 (entier)
CURLM_CALL_MULTI_PERFORM (entier)
CURLM_OK (entier)
CURLM_BAD_HANDLE (entier)
CURLM_BAD_EASY_HANDLE (entier)
CURLM_OUT_OF_MEMORY (entier)
CURLM_INTERNAL_ERROR (entier)
CURLMSG_DONE (entier)
CURLOPT_KEYPASSWD (entier)
CURLOPT_SSH_AUTH_TYPES (entier)
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 (entier)
CURLOPT_SSH_PRIVATE_KEYFILE (entier)
CURLOPT_SSH_PUBLIC_KEYFILE (entier)
CURLMOPT_PIPELINING (entier)
Disponible depuis PHP 5.5.0 et cURL 7.16.0.
CURLMOPT_MAXCONNECTS (entier)
Disponible depuis PHP 5.5.0 et cURL 7.16.3.
CURLSSH_AUTH_ANY (entier)
CURLSSH_AUTH_DEFAULT (entier)
CURLSSH_AUTH_HOST (entier)
CURLSSH_AUTH_KEYBOARD (entier)
CURLSSH_AUTH_NONE (entier)
CURLSSH_AUTH_PASSWORD (entier)
CURLSSH_AUTH_PUBLICKEY (entier)
CURL_WRAPPERS_ENABLED (entier)
Défini si PHP a été configuré avec l'option --with-curlwrappers . Déplacé en PECL depuis PHP 5.5.0.
CURLPAUSE_ALL (integer)
Disponible en PHP 5.5.0 et cURL 7.18.0.
CURLPAUSE_CONT (integer)
Disponible en PHP 5.5.0 et cURL 7.18.0.
CURLPAUSE_RECV (integer)
Disponible en PHP 5.5.0 et cURL 7.18.0.
CURLPAUSE_RECV_CONT (integer)
Disponible en PHP 5.5.0 et cURL 7.18.0.
CURLPAUSE_SEND (integer)
Disponible en PHP 5.5.0 et cURL 7.18.0.
CURLPAUSE_SEND_CONT (integer)
Disponible en PHP 5.5.0 et cURL 7.18.0.
add a note add a note

User Contributed Notes 2 notes

up
4
s dot coletta at unidata dot it
5 years ago
Beware of CURLE_* constants!

On the official site:

http://curl.haxx.se/libcurl/c/libcurl-errors.html

some constants are different, some missing compared to the PHP implementation.

Some examples:

in PHP the curl error number 28 is called

CURLE_OPERATION_TIMEOUTED

while in the official site is:

CURLE_OPERATION_TIMEDOUT

So if you use the second, it won't march the error 28 because in PHP it is not defined that way.

The same is for these:

CURLE_HTTP_RETURNED_ERROR
CURLE_UPLOAD_FAILED
CURLE_INTERFACE_FAILED
CURLE_SSL_CERTPROBLEM
CURLE_SEND_FAIL_REWIND
CURLE_LOGIN_DENIED
CURLE_AGAIN

that are in someway named differently or missing from PHP.
up
0
Ron
7 years ago
<?
/*
* Author: Ron
* Released: August 4, 2007
* Description: An example of the disguise_curl() function in order to grab contents from a website while remaining fully camouflaged by using a fake user agent and fake headers.
*/

$url = 'http://www.ericgiguere.com/tools/http-header-viewer.html';

// disguises the curl using fake headers and a fake user agent.
function disguise_curl($url)
{
 
$curl = curl_init();

 
// Setup headers - I used the same headers from Firefox version 2.0.0.6
  // below was split up because php.net said the line was too long. :/
 
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
 
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
 
$header[] = "Cache-Control: max-age=0";
 
$header[] = "Connection: keep-alive";
 
$header[] = "Keep-Alive: 300";
 
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
 
$header[] = "Accept-Language: en-us,en;q=0.5";
 
$header[] = "Pragma: "; // browsers keep this blank.

 
curl_setopt($curl, CURLOPT_URL, $url);
 
curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)');
 
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
 
curl_setopt($curl, CURLOPT_REFERER, 'http://www.google.com');
 
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
 
curl_setopt($curl, CURLOPT_AUTOREFERER, true);
 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 
curl_setopt($curl, CURLOPT_TIMEOUT, 10);

 
$html = curl_exec($curl); // execute the curl command
 
curl_close($curl); // close the connection

 
return $html; // and finally, return $html
}

// uses the function and displays the text off the website
$text = disguise_curl($url);
echo
$text;
?>

~Ron
To Top