jquery教程

推荐列表 站点导航

当前位置:首页 > jquery > jquery教程 >

php模拟登录qq邮箱(curl命令详解)

来源:网络整理  作者:wy  发布时间:2020-12-23 11:30
php模拟登录qq邮箱(curl命令详解)...

php模拟登录qq邮箱(curl命令详解),感兴趣的朋友可以参考下。
 

复制代码 代码如下:

<?php
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 = 'http://w.mail.qq.com/cgi-bin/loginpage?f=xhtml';
if(!file_exists($cookie_file)) { // 检测Cookie是否存在  
    $str = vget($url); // 获取提交后台
    preg_match("/action=\"([^\"]IT之家?)\"/isU",$str,$hash); // 提取登录随机值
    print_r($hash[1]);
    vlogin($hash[1],'&f=xhtml&uin=你的qq号&[email protected]&pwd=qq号密码&mss=1'); // 登录获取Cookie

}
else
{
    vget("?sid=ggQq2H-cUHdDdHs0z6rT6vN8,4,z-yTNgDwU&first=1");
    echo '生成了cookie';   
}
?>

相关热词: 详解 命令

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jq/jc/8161.shtml

相关文章
最新文章
PHP识别相片是否是颠倒的 PHP识别相片是否是颠倒的

时间:2020-12-28

python编程有哪些ide python编程有哪些ide

时间:2020-12-28

python开发工程师是做什么 python开发工程师是做什么

时间:2020-12-28

php构造函数的作用 php构造函数的作用

时间:2020-12-28

php怎么跟数据库连接 php怎么跟数据库连接

时间:2020-12-28

php实现顺序线性表 php实现顺序线性表

时间:2020-12-28

Python多重继承中的菱形继 Python多重继承中的菱形继

时间:2020-12-28

php中break的作用 php中break的作用

时间:2020-12-28

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

php模拟登录qq邮箱(curl命令详解)

2020-12-23 编辑:wy

php模拟登录qq邮箱(curl命令详解),感兴趣的朋友可以参考下。
 

复制代码 代码如下:

<?php
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 = 'http://w.mail.qq.com/cgi-bin/loginpage?f=xhtml';
if(!file_exists($cookie_file)) { // 检测Cookie是否存在  
    $str = vget($url); // 获取提交后台
    preg_match("/action=\"([^\"]IT之家?)\"/isU",$str,$hash); // 提取登录随机值
    print_r($hash[1]);
    vlogin($hash[1],'&f=xhtml&uin=你的qq号&[email protected]&pwd=qq号密码&mss=1'); // 登录获取Cookie

}
else
{
    vget("?sid=ggQq2H-cUHdDdHs0z6rT6vN8,4,z-yTNgDwU&first=1");
    echo '生成了cookie';   
}
?>

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jq/jc/8161.shtml

相关文章

风云图片

推荐阅读

返回jquery教程频道首页