CURLOPT_SSL_VERIFYPEER 禁用后cURL将终止从服务端进行验证。使用 CURLOPT_CAINFO 选项设置证书使用 CURLOPT_CAPATH 选项设置证书目录 如果 CURLOPT_SSL_VERIFYPEER (默认值为2)被启用, CURLOPT_SSL_VERIFYHOST 需要被设置成 TRUE 否则设置为 FALSE 。 自cURL 7.10开始默认为 TRUE 。从cURL 7.10开始默认绑定安装。 CURLOPT_FTPSSLAUTH FTP验证方式: CURLFTPAUTH_SSL (首先尝试SSL), CURLFTPAUTH_TLS (首先尝试TLS)或 CURLFTPAUTH_DEFAULT (让cURL自动决定)。 在cURL 7.12.2中被加入。 CURLOPT_HTTP_VERSION CURL_HTTP_VERSION_NONE (默认值,让cURL自己判断使用哪个版本), CURL_HTTP_VERSION_1_0 (强制使用 HTTP/1.0)或 CURL_HTTP_VERSION_1_1 (强制使用 HTTP/1.1)。 CURLOPT_PROTOCOLS CURLPROTO_* 的位域指。如果被启用,位域值会限定libcurl在传输过程中有哪些可使用的协议。这将允许你在编译libcurl时支持众多协议,但是限制只是用它们中被允许使用的一个子集。默认libcurl将会使用全部它支持的协议。参见 CURLOPT_REDIR_PROTOCOLS .可用的协议选项为:CURLPROTO_HTTP、CURLPROTO_HTTPS、CURLPROTO_FTP、CURLPROTO_FTPS、CURLPROTO_SCP、CURLPROTO_SFTP、CURLPROTO_TELNET、CURLPROTO_LDAP、CURLPROTO_LDAPS、CURLPROTO_DICT、CURLPROTO_FILE、CURLPROTO_TFTP、CURLPROTO_ALL 在cURL 7.19.4中被加入。 CURLOPT_PROTOCOLS CURLPROTO_* 的位域指。如果被启用,位域值会限定libcurl在传输过程中有哪些可使用的协议。这将允许你在编译libcurl时支持众多协议,但是限制只是用它们中被允许使用的一个子集。默认libcurl将会使用全部它支持的协议。参见 CURLOPT_REDIR_PROTOCOLS .可用的协议选项为:CURLPROTO_HTTP、CURLPROTO_HTTPS、CURLPROTO_FTP、CURLPROTO_FTPS、CURLPROTO_SCP、CURLPROTO_SFTP、CURLPROTO_TELNET、CURLPROTO_LDAP、CURLPROTO_LDAPS、CURLPROTO_DICT、CURLPROTO_FILE、CURLPROTO_TFTP、CURLPROTO_ALL 在cURL 7.19.4中被加入。 CURLOPT_PROXYAUTH HTTP代理连接的验证方式。使用在 CURLOPT_HTTPAUTH 中的位域标志来设置相应选项。对于代理验证只有 CURLAUTH_BASIC CURLAUTH_NTLM 当前被支持。 在cURL 7.10.7中被加入。 CURLOPT_REDIR_PROTOCOLS CURLPROTO_* 中的位域值。如果被启用,位域值将会限制传输线程在 CURLOPT_FOLLOWLOCATION 开启时跟随某个重定向时可使用的协议。这将使你对重定向时限制传输线程使用被允许的协议子集默认libcurl将会允许除FILE和SCP之外的全部协议。这个和7.19.4预发布版本种无条件地跟随所有支持的协议有一些不同。关于协议常量,请参照 CURLOPT_PROTOCOLS 。 在cURL 7.19.4中被加入。 CURLOPT_CUSTOMREQUEST 使用一个自定义的请求信息来代替 "GET" "HEAD" 作为HTTP请求。这对于执行 "DELETE" 或者其他更隐蔽的HTTP请求。有效值如 "GET" "POST" "CONNECT" 等等。也就是说,不要在这里输入整个HTTP请求。例如输入 "GET /index.html HTTP/1.0\r\n\r\n" 是不正确的。

Note : 在确定服务器支持这个自定义请求的方法前不要使用。 CURLOPT_ENCODING HTTP请求头中 "Accept-Encoding: " 的值。支持的编码有 "identity" "deflate" "gzip" 。如果为空字符串 "" ,请求头会发送所有支持的编码类型。 在cURL 7.10中被加入。 回调函数名。该函数应接受三个参数。第一个是 cURL resource;第二个是通过选项 CURLOPT_INFILE 传给 cURL 的 stream resource;第三个参数是最大可以读取的数据的数量。回 调函数必须返回一个字符串,长度小于或等于请求的数据量(第三个参数)。一般从传入的 stream resource 读取。返回空字符串作为 EOF (文件结束) 信号。 回调函数名。该函数应接受两个参数。第一个是 cURL resource;第二个是要写入的数据字符串。数 据必须在函数中被保存。函数必须返回准确的传入的要写入数据的字节数,否则传输会被一个错误所中 // 设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch, CURLOPT_HEADER, false); // 抓取URL并把它传递给浏览器 curl_exec($ch); //关闭cURL资源,并且释放系统资源 curl_close($ch);

上传文件实例:

/* 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_POSTFIELDS, $data); curl_exec($ch);

以上实例输出结果如下:

Array [name] => Foo Array [file] => Array [name] => test.png [type] => image/png [tmp_name] => /tmp/phpcpjNeQ [error] => 0 [size] => 279

传递一个数组到CURLOPT_POSTFIELDS,cURL会把数据编码成 multipart/form-data,而然传递一个URL-encoded字符串时,数据会被编码成 application/x-www-form-urlencoded。

PHP Calendar 参考手册 PHP cURL参考手册