Chinaunix首页 | 论坛 | 博客
  • 博客访问: 885286
  • 博文数量: 91
  • 博客积分: 803
  • 博客等级: 准尉
  • 技术积分: 1051
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-24 13:42
文章分类

全部博文(91)

文章存档

2021年(1)

2020年(4)

2019年(4)

2018年(9)

2017年(11)

2016年(11)

2015年(6)

2014年(3)

2013年(28)

2012年(14)

分类: 系统运维

2012-06-27 11:14:00

header("Content-type:text/html;charset=utf-8");
$cookie_file = dirname(__FILE__)."/cookie_".md5(basename(__FILE__)).".txt"; // 设置Cookie文件保存路径及文件名
function vlogin($url,$data){ // 模拟登录获取Cookie函数   
    $curl = curl_init(); // 启动一个CURL会话   
    curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址               
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查   
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在   
    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器   
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转   
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer   
    curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求   
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包   
    curl_setopt($curl, CURLOPT_COOKIEJAR, $GLOBALS['cookie_file']); // 存放Cookie信息的文件名称   
    curl_setopt($curl, CURLOPT_COOKIEFILE, $GLOBALS['cookie_file']); // 读取上面所储存的Cookie信息  
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环   
    curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容   
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
    $tmpInfo = curl_exec($curl); // 执行操作
    if (curl_errno($curl)) {   
       echo 'Errno'.curl_error($curl);   
    }   
    curl_close($curl); // 关闭CURL会话   
    return $tmpInfo; // 返回数据   
}   
 
function vget($url){ // 模拟获取内容函数   
    $curl = curl_init(); // 启动一个CURL会话   
    curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址               
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查   
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在   
    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器   
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转   
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer   
    curl_setopt($curl, CURLOPT_HTTPGET, 1); // 发送一个常规的Post请求   
    curl_setopt($curl, CURLOPT_COOKIEFILE, $GLOBALS['cookie_file']); // 读取上面所储存的Cookie信息   
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环   
    curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容   
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回   
    $tmpInfo = curl_exec($curl); // 执行操作   
    if (curl_errno($curl)) {   
       echo 'Errno'.curl_error($curl);   
    }   
    curl_close($curl); // 关闭CURL会话   
    return $tmpInfo; // 返回数据   
}   
 
function vpost($url,$data){ // 模拟提交数据函数   
    $curl = curl_init(); // 启动一个CURL会话   
    curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址               
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查   
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在   
    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器   
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转   
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer   
    curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求   
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包   
    curl_setopt($curl, CURLOPT_COOKIEFILE, $GLOBALS['cookie_file']); // 读取上面所储存的Cookie信息   
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环   
    curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容   
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回   
    $tmpInfo = curl_exec($curl); // 执行操作   
    if (curl_errno($curl)) {   
       echo 'Errno'.curl_error($curl);   
    }   
    curl_close($curl); // 关键CURL会话   
    return $tmpInfo; // 返回数据   
}
function delcookie($cookie_file){ // 删除Cookie函数   
 @unlink($cookie_file); // 执行删除   
}   
function readcookies( $file)
    {
        $result = null;
       
        $fp = fopen( $file, "r" );
        if($fp)
        {
          while ( !feof( $fp ) )
          {
              $buffer = fgets( $fp, 4096 );
              $result = $buffer;
              //$tmp = @split( "/t", $buffer );
              //$result[@trim( $tmp[5] )] = @trim( $tmp[6] );
          }
         
          fclose($fp);
        }
       
        return $result;
    }
$url = '';
if(!file_exists($cookie_file)) { // 检测Cookie是否存在   
    $str = vget($url); // 获取提交后台
    preg_match("/action=\"([^\"]*?)\"/isU",$str,$hash); // 提取登录随机值
    print_r($hash[1]);
    vlogin($hash[1],'&f=xhtml&uin=你的qq号&aliastype=@qq.com&pwd=qq号密码&mss=1'); // 登录获取Cookie

}
else
{
    vget("");
    echo '生成了cookie';    
}
?>
阅读(5010) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~