龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

一个简单的PHP的CURL类

时间:2014-07-22 14:52来源: 作者: 点击:
分享到:
我写了一个基于a href=http://www.oschina.net/p/curlCURL/a的PHP5的类,功能比较简单,比较适合学习用。如果真要应用的话,那绝对推荐a href=http://www.oschina.net/p/snoopySnoopy/a 太强大了。虽然它不是
我写了一个基于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;
	}
}
?>

2. [代码]使用方法     跳至 [1] [2] [全屏预览]

<?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 }?>
精彩图集

赞助商链接