用途: 1、WebService数据接口资源: 2、动态获取接口数据,如天气,号码归属地等 3、FTP服务器里面的文件资源:上传下载 4、其他资源:所有网络上的资源都可以用cURL访问和下载到。 5、网页爬虫 案例: 网页爬虫: //$content = file_get_contents('http://www.baidu.com'); 抓取百度内容 //$content = file('http://www.baidu.com');//将文件读入数组 //$content = readfile('http://www.baidu.com');//读取文件 //var_dump( $content ); 效果图: cURL做法: //初始化 $objCurl = curl_init('http://www.baidu.com'); //执行 curl_exec($objCurl); //关闭 curl_close($objCurl); 替换: $content = curl_init(); //设置访问的url curl_setopt($content, CURLOPT_URL, 'http://www.baidu.com'); //执行完后不直接打印 curl_setopt($objCurl, CURLOPT_RETURNTRANSFER, true); $curlOut = curl_exec($objCurl); curl_close($objCurl); echo str_replace('百度', '硬汉', $curlOut); Post提交: //POST方法提交数据 $url = "http://localhost/php1512/yhkj_oa/test/curl/post.php"; $post_data = array ( "username" => "admin", "password" => "123456" ); $objCurl = curl_init(); curl_setopt($objCurl, CURLOPT_URL, $url); curl_setopt($objCurl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($objCurl, CURLOPT_POST, 1);//发送一个常规的POST请求 curl_setopt($objCurl, CURLOPT_POSTFIELDS, $post_data);//POST提交的数据包 curl_setopt($objCurl, CURLOPT_TIMEOUT, 30);//设置超时 $output = curl_exec($objCurl);//执行并获取数据 curl_close($objCurl); var_dump($output); 上传: <?php $url = "http://localhost/php1512/yhkj_oa/test/curl/upload.php"; $post_data = array ( "foo" => "bar", // 要上传的本地文件地址 "upload" => "@D:/test.txt" ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); $output = curl_exec($ch); curl_close($ch); var_dump( $output) ; ?> |
|