一个简单的PHP的CURL类
2016-05-09 15:31
591 查看
我写了一个基于CURL的PHP5的类,功能比较简单,比较适合学习用。如果真要应用的话,那绝对推荐Snoopy 太强大了。虽然它不是在curl基础上的。转自 http://xiaowai.gentieba.com/node/33
<?php class my_curl { public function __construct() { ! extension_loaded ( 'curl' ) && exit ( 'CURL扩展未加载,程序终止运行' ); header ( 'Content-Type: text/html; charset=utf-8' ); } public function go($url, $vars = '') { $ch = curl_init (); $array [CURLOPT_URL] = $url; $array [CURLOPT_HEADER] = false; $array [CURLOPT_RETURNTRANSFER] = true; $array [CURLOPT_FOLLOWLOCATION] = true; if (! empty ( $vars )) { $postfields = $this->render_postfields ( $vars ); //生成urlcode的url $array [CURLOPT_POST] = true; $array [CURLOPT_POSTFIELDS] = $postfields; } //判断是否有cookie,有的话直接使用 if ($_COOKIE ['cookie_jar'] || is_file ( $_COOKIE ['cookie_jar'] )) { $array [CURLOPT_COOKIEFILE] = $_COOKIE ['cookie_jar']; //这里判断cookie } else { $cookie_jar = tempnam ( '/tmp', 'cookie' ); //产生一个cookie文件 $array [CURLOPT_COOKIEJAR] = $cookie_jar; //写入cookie信息 setcookie ( 'cookie_jar', $cookie_jar ); //保存cookie路径 } curl_setopt_array ( $ch, $array ); //传入curl参数 $content = curl_exec ( $ch ); //执行 curl_close ( $ch );//关闭 return $content; //返回 } protected function render_postfields($vars) { foreach ( $vars as $key => $values ) { $postdata .= urlencode ( $key ) . "=" . urlencode ( $values ) . "&"; } return $postdata; } } ?>
使用方法
<?php if($_POST['email']&&$_POST['password']){ include 'curl_class.php'; $curl = new my_curl (); $vars ['email'] = $_POST['email']; $vars ['password'] = $_POST['password']; //$vars ['done'] = '/'; //$vars ['submit'] = '登 录'; echo $curl->go ( 'http://www.renren.com/PLogin.do', $vars ); }else{ ?> <html> <form action="" class="login-form" id="loginForm" method="post"> <input type="text" id="email" name="email"/> <input type="text" id="password" name="password"/> <input type="submit" tabindex="4" value="登录" class="input-submit" id="login"> </form> </html> <?php }?>
相关文章推荐
- PHP的curl常用的5个例子
- php命名空间
- Phpstudy 开启GZIP 配置
- thinkphp3.2自定义success及error跳转页面
- PHP封装CURL扩展
- FTP上传
- PHP图片采集简陋程序,各位大神拍砖轻点
- PHP图片采集程序--图片采集类
- fleStpecxEyarrAfotcudorP.238
- php 之 在win10-64 上搭建开发环境
- php第十四节课
- FSDataOutputStream中的hsync()不起作用?
- 夯实基础之php学习-2提高篇
- 使用php实现从身份证中提取生日
- 图片加水印上传(PHP)
- PhpStorm提高效率的使用方法及设置
- php中Jpgraph的运用
- php生成文字水印时中文乱码的问题
- PHP Excel 下载数据,并分页下载
- Yii2.0 RESTful Web服务(4)