CURL可以模拟浏览器,因此它同样支持多种协议
FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP等协议都可以很好的支持,包括一些:
HTTPS认证,HTTP POST方法,HTTP PUT方法,FTP上传,keyberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证,
下载文件断点续传,上传文件断点续传,http代理服务器管道,甚至它还支持IPv6,scoket5代理服务器,通过http代理服务器上传文件到FTP服务器等等。
一.配置:
默认情况加PHP是不支持CURL的,需要在php.ini中开启该功能
;extension=php_curl.dll前面的分号去掉
二.使用
<?php //1.初始化,创建一个新cURL资源 $ch = curl_init(); //2.设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, "http://www.wozaizhe.net/"); curl_setopt($ch, CURLOPT_HEADER, 0); //3.抓取URL并把它传递给浏览器 curl_exec($ch); //4.关闭cURL资源,并且释放系统资源 curl_close($ch); ?>
例上传图
// 上传图片到zimg图片存储服务 $ch = curl_init(); $post_data = file_get_contents($realpath); //获取图片信息$headers = array(); $headers[] = 'Content-Type:' . $ext; curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_URL, $zimg_upload_url); //需要获取的URL地址 curl_setopt($ch, CURLOPT_HEADER, false); //启用时会将头文件的信息作为数据流输出。 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); //一个用来设置HTTP头字段的数组。使用如下的形式的数组进行设置:array('Content-type: text/plain', 'Content-length: 100') curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中 curl_setopt($ch, CURLOPT_POST, true); //post提交 curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); //在启用的时候,返回原生的(Raw)输出。 curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $info = curl_exec($ch); curl_close($ch); ......//对信息处理