预定义常量
下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。
Descriptions and uses for these constants are described within the curl_setopt() and curl_getinfo() documentation.
-
CURLOPT_AUTOREFERER (integer)
- 从PHP 5.1.0开始可用 CURLOPT_COOKIESESSION (integer)
- 从PHP 5.1.0开始可用 CURLOPT_DNS_USE_GLOBAL_CACHE (integer)
-
CURLOPT_DNS_CACHE_TIMEOUT (integer)
-
CURLOPT_FTP_SSL (integer)
- 从PHP 5.2.0开始可用
-
CURLFTPSSL_TRY (integer)
- 从PHP 5.2.0开始可用
-
CURLFTPSSL_ALL (integer)
- 从PHP 5.2.0开始可用
-
CURLFTPSSL_CONTROL (integer)
- 从PHP 5.2.0开始可用
-
CURLFTPSSL_NONE (integer)
- 从PHP 5.2.0开始可用
-
CURLOPT_PRIVATE (integer)
- 从PHP 5.2.4开始可用
-
CURLOPT_FTPSSLAUTH (integer)
- 从PHP 5.1.0开始可用
-
CURLOPT_PORT (integer)
-
CURLOPT_FILE (integer)
-
CURLOPT_INFILE (integer)
-
CURLOPT_INFILESIZE (integer)
-
CURLOPT_URL (integer)
-
CURLOPT_PROXY (integer)
-
CURLOPT_VERBOSE (integer)
-
CURLOPT_HEADER (integer)
-
CURLOPT_HTTPHEADER (integer)
-
CURLOPT_NOPROGRESS (integer)
-
CURLOPT_NOBODY (integer)
-
CURLOPT_FAILONERROR (integer)
-
CURLOPT_UPLOAD (integer)
-
CURLOPT_POST (integer)
-
CURLOPT_FTPLISTONLY (integer)
-
CURLOPT_FTPAPPEND (integer)
-
CURLOPT_FTP_CREATE_MISSING_DIRS (integer)
-
CURLOPT_NETRC (integer)
-
CURLOPT_FOLLOWLOCATION (integer)
- 当PHP配置open_basedir或 safe_mode被启用时,该常量不 可用。
-
CURLOPT_FTPASCII (integer)
-
CURLOPT_PUT (integer)
-
CURLOPT_MUTE (integer)
-
CURLOPT_USERPWD (integer)
-
CURLOPT_PROXYUSERPWD (integer)
-
CURLOPT_RANGE (integer)
-
CURLOPT_TIMEOUT (integer)
-
CURLOPT_TIMEOUT_MS (integer)
-
CURLOPT_TCP_NODELAY (integer)
- 从PHP 5.2.1开始可用
-
CURLOPT_POSTFIELDS (integer)
-
CURLOPT_PROGRESSFUNCTION (integer)
- 从PHP 5.3.0开始可用
-
CURLOPT_REFERER (integer)
-
CURLOPT_USERAGENT (integer)
-
CURLOPT_FTPPORT (integer)
-
CURLOPT_FTP_USE_EPSV (integer)
-
CURLOPT_LOW_SPEED_LIMIT (integer)
-
CURLOPT_LOW_SPEED_TIME (integer)
-
CURLOPT_RESUME_FROM (integer)
-
CURLOPT_COOKIE (integer)
-
CURLOPT_SSLCERT (integer)
-
CURLOPT_SSLCERTPASSWD (integer)
-
CURLOPT_WRITEHEADER (integer)
-
CURLOPT_SSL_VERIFYHOST (integer)
-
CURLOPT_COOKIEFILE (integer)
-
CURLOPT_SSLVERSION (integer)
-
CURLOPT_TIMECONDITION (integer)
-
CURLOPT_TIMEVALUE (integer)
-
CURLOPT_CUSTOMREQUEST (integer)
-
CURLOPT_STDERR (integer)
-
CURLOPT_TRANSFERTEXT (integer)
-
CURLOPT_RETURNTRANSFER (integer)
-
CURLOPT_QUOTE (integer)
-
CURLOPT_POSTQUOTE (integer)
-
CURLOPT_INTERFACE (integer)
-
CURLOPT_KRB4LEVEL (integer)
-
CURLOPT_HTTPPROXYTUNNEL (integer)
-
CURLOPT_FILETIME (integer)
-
CURLOPT_WRITEFUNCTION (integer)
-
CURLOPT_READFUNCTION (integer)
-
CURLOPT_PASSWDFUNCTION (integer)
-
CURLOPT_HEADERFUNCTION (integer)
-
CURLOPT_MAXREDIRS (integer)
-
CURLOPT_MAXCONNECTS (integer)
-
CURLOPT_CLOSEPOLICY (integer)
-
CURLOPT_FRESH_CONNECT (integer)
-
CURLOPT_FORBID_REUSE (integer)
-
CURLOPT_RANDOM_FILE (integer)
-
CURLOPT_EGDSOCKET (integer)
-
CURLOPT_CONNECTTIMEOUT (integer)
-
CURLOPT_CONNECTTIMEOUT_MS (integer)
-
CURLOPT_SSL_VERIFYPEER (integer)
-
CURLOPT_CAINFO (integer)
-
CURLOPT_CAPATH (integer)
-
CURLOPT_COOKIEJAR (integer)
-
CURLOPT_SSL_CIPHER_LIST (integer)
-
CURLOPT_BINARYTRANSFER (integer)
-
CURLOPT_NOSIGNAL (integer)
-
CURLOPT_PROXYTYPE (integer)
-
CURLOPT_BUFFERSIZE (integer)
-
CURLOPT_HTTPGET (integer)
-
CURLOPT_HTTP_VERSION (integer)
-
CURLOPT_SSLKEY (integer)
-
CURLOPT_SSLKEYTYPE (integer)
-
CURLOPT_SSLKEYPASSWD (integer)
-
CURLOPT_SSLENGINE (integer)
-
CURLOPT_SSLENGINE_DEFAULT (integer)
-
CURLOPT_SSLCERTTYPE (integer)
-
CURLOPT_CRLF (integer)
-
CURLOPT_ENCODING (integer)
-
CURLOPT_PROXYPORT (integer)
-
CURLOPT_UNRESTRICTED_AUTH (integer)
-
CURLOPT_FTP_USE_EPRT (integer)
-
CURLOPT_HTTP200ALIASES (integer)
-
CURLOPT_HTTPAUTH (integer)
-
CURLAUTH_BASIC (integer)
-
CURLAUTH_DIGEST (integer)
-
CURLAUTH_GSSNEGOTIATE (integer)
-
CURLAUTH_NTLM (integer)
-
CURLAUTH_ANY (integer)
-
CURLAUTH_ANYSAFE (integer)
-
CURLOPT_PROXYAUTH (integer)
-
CURLCLOSEPOLICY_LEAST_RECENTLY_USED (integer)
-
CURLCLOSEPOLICY_LEAST_TRAFFIC (integer)
-
CURLCLOSEPOLICY_SLOWEST (integer)
-
CURLCLOSEPOLICY_CALLBACK (integer)
-
CURLCLOSEPOLICY_OLDEST (integer)
-
CURLINFO_PRIVATE (integer)
- 从PHP 5.2.4开始可用
-
CURLINFO_EFFECTIVE_URL (integer)
- curl_getinfo curl_multi_info_read 用到 http状态码
-
CURLINFO_HTTP_CODE (integer)
-
CURLINFO_HEADER_OUT (integer)
- 从PHP 5.1.3开始可用
-
CURLINFO_HEADER_SIZE (integer)
-
CURLINFO_REQUEST_SIZE (integer)
-
CURLINFO_TOTAL_TIME (integer)
-
CURLINFO_NAMELOOKUP_TIME (integer)
-
CURLINFO_CONNECT_TIME (integer)
-
CURLINFO_PRETRANSFER_TIME (integer)
-
CURLINFO_SIZE_UPLOAD (integer)
-
CURLINFO_SIZE_DOWNLOAD (integer)
-
CURLINFO_SPEED_DOWNLOAD (integer)
-
CURLINFO_SPEED_UPLOAD (integer)
-
CURLINFO_FILETIME (integer)
-
CURLINFO_SSL_VERIFYRESULT (integer)
-
CURLINFO_CONTENT_LENGTH_DOWNLOAD (integer)
-
CURLINFO_CONTENT_LENGTH_UPLOAD (integer)
-
CURLINFO_STARTTRANSFER_TIME (integer)
-
CURLINFO_CONTENT_TYPE (integer)
-
CURLINFO_REDIRECT_TIME (integer)
-
CURLINFO_REDIRECT_COUNT (integer)
-
CURL_TIMECOND_IFMODSINCE (integer)
-
CURL_TIMECOND_IFUNMODSINCE (integer)
-
CURL_TIMECOND_LASTMOD (integer)
-
CURL_VERSION_IPV6 (integer)
-
CURL_VERSION_KERBEROS4 (integer)
-
CURL_VERSION_SSL (integer)
-
CURL_VERSION_LIBZ (integer)
-
CURLVERSION_NOW (integer)
-
CURLE_OK (integer)
-
CURLE_UNSUPPORTED_PROTOCOL (integer)
-
CURLE_FAILED_INIT (integer)
-
CURLE_URL_MALFORMAT (integer)
-
CURLE_URL_MALFORMAT_USER (integer)
-
CURLE_COULDNT_RESOLVE_PROXY (integer)
-
CURLE_COULDNT_RESOLVE_HOST (integer)
-
CURLE_COULDNT_CONNECT (integer)
-
CURLE_FTP_WEIRD_SERVER_REPLY (integer)
-
CURLE_FTP_ACCESS_DENIED (integer)
-
CURLE_FTP_USER_PASSWORD_INCORRECT (integer)
-
CURLE_FTP_WEIRD_PASS_REPLY (integer)
-
CURLE_FTP_WEIRD_USER_REPLY (integer)
-
CURLE_FTP_WEIRD_PASV_REPLY (integer)
-
CURLE_FTP_WEIRD_227_FORMAT (integer)
-
CURLE_FTP_CANT_GET_HOST (integer)
-
CURLE_FTP_CANT_RECONNECT (integer)
-
CURLE_FTP_COULDNT_SET_BINARY (integer)
-
CURLE_PARTIAL_FILE (integer)
-
CURLE_FTP_COULDNT_RETR_FILE (integer)
-
CURLE_FTP_WRITE_ERROR (integer)
-
CURLE_FTP_QUOTE_ERROR (integer)
-
CURLE_HTTP_NOT_FOUND (integer)
-
CURLE_WRITE_ERROR (integer)
-
CURLE_MALFORMAT_USER (integer)
-
CURLE_FTP_COULDNT_STOR_FILE (integer)
-
CURLE_READ_ERROR (integer)
-
CURLE_OUT_OF_MEMORY (integer)
-
CURLE_OPERATION_TIMEOUTED (integer)
-
CURLE_FTP_COULDNT_SET_ASCII (integer)
-
CURLE_FTP_PORT_FAILED (integer)
-
CURLE_FTP_COULDNT_USE_REST (integer)
-
CURLE_FTP_COULDNT_GET_SIZE (integer)
-
CURLE_HTTP_RANGE_ERROR (integer)
-
CURLE_HTTP_POST_ERROR (integer)
-
CURLE_SSL_CONNECT_ERROR (integer)
-
CURLE_FTP_BAD_DOWNLOAD_RESUME (integer)
-
CURLE_FILE_COULDNT_READ_FILE (integer)
-
CURLE_LDAP_CANNOT_BIND (integer)
-
CURLE_LDAP_SEARCH_FAILED (integer)
-
CURLE_LIBRARY_NOT_FOUND (integer)
-
CURLE_FUNCTION_NOT_FOUND (integer)
-
CURLE_ABORTED_BY_CALLBACK (integer)
-
CURLE_BAD_FUNCTION_ARGUMENT (integer)
-
CURLE_BAD_CALLING_ORDER (integer)
-
CURLE_HTTP_PORT_FAILED (integer)
-
CURLE_BAD_PASSWORD_ENTERED (integer)
-
CURLE_TOO_MANY_REDIRECTS (integer)
-
CURLE_UNKNOWN_TELNET_OPTION (integer)
-
CURLE_TELNET_OPTION_SYNTAX (integer)
-
CURLE_OBSOLETE (integer)
-
CURLE_SSL_PEER_CERTIFICATE (integer)
-
CURLE_GOT_NOTHING (integer)
-
CURLE_SSL_ENGINE_NOTFOUND (integer)
-
CURLE_SSL_ENGINE_SETFAILED (integer)
-
CURLE_SEND_ERROR (integer)
-
CURLE_RECV_ERROR (integer)
-
CURLE_SHARE_IN_USE (integer)
-
CURLE_SSL_CERTPROBLEM (integer)
-
CURLE_SSL_CIPHER (integer)
-
CURLE_SSL_CACERT (integer)
-
CURLE_BAD_CONTENT_ENCODING (integer)
-
CURLE_LDAP_INVALID_URL (integer)
-
CURLE_FILESIZE_EXCEEDED (integer)
-
CURLE_FTP_SSL_FAILED (integer)
-
CURLFTPAUTH_DEFAULT (integer)
- 从PHP 5.1.0开始可用
-
CURLFTPAUTH_SSL (integer)
- 从PHP 5.1.0开始可用
-
CURLFTPAUTH_TLS (integer)
- 从PHP 5.1.0开始可用
-
CURLPROXY_HTTP (integer)
-
CURLPROXY_SOCKS5 (integer)
-
CURL_NETRC_OPTIONAL (integer)
-
CURL_NETRC_IGNORED (integer)
-
CURL_NETRC_REQUIRED (integer)
-
CURL_HTTP_VERSION_NONE (integer)
-
CURL_HTTP_VERSION_1_0 (integer)
-
CURL_HTTP_VERSION_1_1 (integer)
-
CURLM_CALL_MULTI_PERFORM (integer)
-
CURLM_OK (integer)
-
CURLM_BAD_HANDLE (integer)
-
CURLM_BAD_EASY_HANDLE (integer)
-
CURLM_OUT_OF_MEMORY (integer)
-
CURLM_INTERNAL_ERROR (integer)
-
CURLMSG_DONE (integer)
User Contributed Notes
Kelvin Lim
05-Nov-2008 05:46
Note that CURLAUTH_NTLM refers specifically to NTLMv1 authentication. As of this writing, the cURL library does not yet support NTLMv2.
Ron
04-Aug-2007 11:48
<?
/*
* 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
http://www.php.net/manual/zh/function.curl-getinfo.php
获取最后一次传输的相关信息。
参数 ¶
-
由 curl_init() 返回的 cURL 句柄。
-
这个参数可能是以下常量之一:
CURLINFO_EFFECTIVE_URL
- 最后一个有效的URL地址CURLINFO_HTTP_CODE
- 最后一个收到的HTTP代码CURLINFO_FILETIME
- 远程获取文档的时间,如果无法获取,则返回值为“-1”CURLINFO_TOTAL_TIME
- 最后一次传输所消耗的时间CURLINFO_NAMELOOKUP_TIME
- 名称解析所消耗的时间CURLINFO_CONNECT_TIME
- 建立连接所消耗的时间CURLINFO_PRETRANSFER_TIME
- 从建立连接到准备传输所使用的时间CURLINFO_STARTTRANSFER_TIME
- 从建立连接到传输开始所使用的时间CURLINFO_REDIRECT_TIME
- 在事务传输开始前重定向所使用的时间CURLINFO_SIZE_UPLOAD
- 上传数据量的总值CURLINFO_SIZE_DOWNLOAD
- 下载数据量的总值CURLINFO_SPEED_DOWNLOAD
- 平均下载速度CURLINFO_SPEED_UPLOAD
- 平均上传速度CURLINFO_HEADER_SIZE
- header部分的大小CURLINFO_HEADER_OUT
- 发送请求的字符串CURLINFO_REQUEST_SIZE
- 在HTTP请求中有问题的请求的大小CURLINFO_SSL_VERIFYRESULT
- 通过设置CURLOPT_SSL_VERIFYPEER
返回的SSL证书验证请求的结果CURLINFO_CONTENT_LENGTH_DOWNLOAD
- 从Content-Length: field中读取的下载内容长度CURLINFO_CONTENT_LENGTH_UPLOAD
- 上传内容大小的说明CURLINFO_CONTENT_TYPE
- 下载内容的Content-Type:值,NULL表示服务器没有发送有效的Content-Type: header
ch
opt