Curl使用集合

 Stardustsky   2014-11-27 21:35   1860 人阅读  0 条评论

好多天没写东西了,事情太多,都不怎么忙得过来,终于把这些破事搞的差不多了,最近爬虫这个词映入视野比较多,于是闲下来学了下curl,这里做个小整理

 

/*=========================demo1之curl原理===============================

$curl=curl_init("http://www.stardustsky.net"); //初始化curl
curl_exec($curl);//执行curl //自动读取资源并输出
curl_close($curl);//关闭curl

*/

 

/*//=======================demo2之curl抓取替换操作==========================

$curlobj=curl_init();
curl_setopt($curlobj,CURLOPT_URL,"http://www.baidu.com"); //设置curl指向地址
curl_setopt($curlobj,CURLOPT_RETURNTRANSFER,true); //只下载资源,不输出
$output=curl_exec($curlobj); //执行命令
curl_close($curlobj); //关闭curl
echo str_replace("百度","呵呵",$output); //输出并替换字符*/

 

/*//============================demo3之利用curl进行post=====================

$curl=curl_init();
$postdata="conten=被传送数据&id=1&style=red"; //设置post数据,多条即用&连接
curl_setopt($curl,CURLOPT_URL,"http://www.test.com/getpost.php");
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); //只下载资源,不输出
curl_setopt($curl,CURLOPT_HEADER,0); //不输出返回包头
curl_setopt($curl,CURLOPT_POST,true); //设置post为真
curl_setopt($curl,CURLOPT_POSTFIELDS,$postdata); //设置post内容
curl_setopt($curl,CURLOPT_PORT,8080); //设置传输端口为8080(此选项可以不设)
curl_setopt($curl,CURLOPT_HTTPHEADER,array("application/x-www-form-urlencoded;charset=utf-8","Content-length:".strlen($post_data))); //设置传输头(也可以不设)
curl_setopt($curl,CURLOPT_TIMEOUT,5); //设置超时时间,即超过5秒就不连接了
curl_exec($curl);
curl_close($curl);*/

 

/*//=====================demo4之使用curl登录并抓取页面========================

$curl=curl_init();
$data="user_login=stardustsky&user_pass=6615302qqmmt&rememberme=forever"; //表单的输入框名
curl_setopt($curl,CURLOPT_URL,"http://www.freebuf.com/wp-login.php");
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
date_default_timezone_set('PRC'); //设置时区
curl_setopt($curl,CURLOPT_COOKIESESSION,true); //设置服务器session
curl_setopt($curl,CURLOPT_COOKIEFILE,"cookiefile"); //将session保存为cookiefile文件
curl_setopt($curl,CURLOPT_COOKIEJAR,"cookiefile");
curl_setopt($curl,CURLOPT_COOKIE,session_name().'='.session_id()); //设置session内容,此行与以上三行均可直接拷贝
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true); //跳转跟踪,登陆后跳转则跟踪其页面
curl_setopt($curl,CURLOPT_POST,true);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
curl_setopt($curl,CURLOPT_HTTPHEADER,array("application/x-www-form-urlencoded;charset=utf-8","Content-length:".strlen($data))); //设置传输头(也可以不设)
curl_exec($curl);
curl_setopt($curl,CURLOPT_URL,"http://www.freebuf.com/wp-admin/"); //重写操作取页面
curl_setopt($curl,CURLOPT_POST,0); //关闭post
$output=curl_exec($curl); //抓取现在的页面
curl_close($curl);
echo $output;*/

 

/*//=====================demo5之使用curl进行FTP下载=========================

$ftpsave="download.php";
$fp=fopen($ftpsave,"r");
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,"http://www.test.php/test.txt"); //打开资源地址
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_TIMEOUT,300);
curl_setopt($curl,CURLOPT_USERPWD,"admin:admin"); //设置ftp登录帐号密码
curl_setopt($curl,CURLOPT_UPLOAD,1);
curl_setopt($curl,CURLOPT_INFILE,$fp); //设置写入文件
curl_setopt($curl,CURLOPT_INFILESIZE,filesize($ftpsave));
$return=curl_exec($curl);
fclose($fp);
if(!curl_errno($curl)){
echo "下载成功!";
}else{
echo "Curl error:".curl_errno($curl);
}
curl_close($curl);*/

 

/*//====================demo6之使用curl进行FTP上传============================

$curl=curl_init();
$file="localfile.php"; //指定上传文件
$fp=fopen($file,'r');
curl_setopt($curl,CURLOPT_URL,"http://www.test.com/uploaded.php"); //上传名
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_TIMEOUT,300);
curl_setopt($curl,CURLOPT_USERPWD,"admin:admin");
curl_setopt($curl,CURLOPT_UPLOAD,1);
curl_setopt($curl,CURLOPT_INFILE,$fp);
curl_setopt($curl,CURLOPT_INFILESIZE,filesize($file)); //设置上传文件大小,提醒curl上传时间
$rtn=curl_exec($curl);
fclose($fp);
if(!curl_errno($curl)){ //上传文件判断
echo "上传成功!";
}else{
echo "上传出问题啦!".curl_error($curl);
}
curl_close($curl);*/

 

/*//====================demo7之使用curl访问HTTPS资源==========================

$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,"https://www.stardustsky.net/bootstrap.js");
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
date_default_timezone_set('PRC'); //因为SSL会使用到cookie,所以需要设置时区
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0); //关闭SSL验证
$output=curl_exec($curl);
echo $output;*/


本文地址:http://www.stardustsky.net/index.php/post/11.html
版权声明:本文为原创文章,版权归 Stardustsky 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?