PHP获取QQ邮箱好友的具体代码讲解_PHP教程

php中文网
发布: 2016-07-15 13:28:27
原创
1687人浏览过

目前,大家都在使用qq,并且还将qq附带的一些其他软件当做自己的日常使用工具。今天我们就向大家介绍有关如何运用具体的php获取qq邮箱好友的代码如下:

<OL class=dp-xml><LI class=alt><SPAN><STRONG><FONT color=#006699><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> </SPAN></SPAN><LI class=""><SPAN>/**   </SPAN><LI class=alt><SPAN>* @file class.qqhttp.php  </SPAN><LI class=""><SPAN>* qq邮箱登陆获取类  </SPAN><LI class=alt><SPAN>* @author wc</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>cao8222</SPAN></FONT></STRONG><SPAN>@gmail.com</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN><LI class=""><SPAN>* @date 2009-04-27  </SPAN><LI class=alt><SPAN> */  </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>class QQHttp {  </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>    var $</SPAN><SPAN class=attribute><FONT color=#ff0000>cookie</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>''</FONT></SPAN><SPAN>;  </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>    function __cunstrut() {  </SPAN><LI class=""><SPAN>    }  </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>    function makeForm() {  </SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>form</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>(  </SPAN></SPAN><LI class=""><SPAN>            'url' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> "http://mail.qq.com/cgi-bin/loginpage",  </SPAN></SPAN><LI class=alt><SPAN>        );  </SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>data</FONT></SPAN><SPAN> = $this-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>curlFunc($form);  </SPAN></SPAN><LI class=alt><SPAN>        preg_match('/</SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"ts"</FONT></SPAN><SPAN></SPAN><SPAN class=attribute><FONT color=#ff0000>svalue</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"(d+)"</FONT></SPAN><SPAN>/',$data['html'], $tspre);  </SPAN></SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>ts</FONT></SPAN><SPAN> = $tspre[1];  </SPAN></SPAN><LI class=alt><SPAN>        preg_match('/</SPAN><SPAN class=attribute><FONT color=#ff0000>action</FONT></SPAN><SPAN>="http://(md+).mail.qq.com/',$data['html'], $server);  </SPAN></SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>server_no</FONT></SPAN><SPAN> = $server[1];  </SPAN></SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>        /*  login.html 载入 */  </SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>html</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>file_get_contents</FONT></SPAN><SPAN>(dirname(__FILE__).'/login.htm');  </SPAN></SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>html</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>str_replace</FONT></SPAN><SPAN>('{_ts_}',$ts, $html);  </SPAN></SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>html</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>str_replace</FONT></SPAN><SPAN>('{_server_no_}',$server_no, $html);  </SPAN></SPAN><LI class=""><SPAN>        return $html;  </SPAN><LI class=alt><SPAN>    }  </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>    function curlFunc($array)  </SPAN><LI class=""><SPAN>    {  </SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>ch</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>curl_init</FONT></SPAN><SPAN>();  </SPAN></SPAN><LI class=""><SPAN>        curl_setopt($ch, CURLOPT_URL, $array['url']);  </SPAN><LI class=alt><SPAN>        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  </SPAN><LI class=""><SPAN>        if( isset($array['header']) && $array['header'] ) {  </SPAN><LI class=alt><SPAN>            curl_setopt($ch, CURLOPT_HEADER, 1);  </SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>        if(isset($array['httpheader'])) {  </SPAN><LI class=""><SPAN>            curl_setopt($ch, CURLOPT_HTTPHEADER, $array['httpheader']);  </SPAN><LI class=alt><SPAN>        }  </SPAN><LI class=""><SPAN>        if(isset($array['referer'])) {  </SPAN><LI class=alt><SPAN>            curl_setopt($ch, CURLOPT_REFERER, $array['referer']);  </SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>        if( isset($array['post']) ) {  </SPAN><LI class=""><SPAN>            curl_setopt($ch, CURLOPT_POST, 1 );  </SPAN><LI class=alt><SPAN>            curl_setopt($ch, CURLOPT_POSTFIELDS, $array['post']);  </SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>        if( isset($array['cookie']) ){  </SPAN><LI class=""><SPAN>            curl_setopt($ch, CURLOPT_COOKIE, $array['cookie']);  </SPAN><LI class=alt><SPAN>        }  </SPAN><LI class=""><SPAN>        $r['erro'] = curl_error($ch);  </SPAN><LI class=alt><SPAN>        $r['errno'] = curl_errno($ch);  </SPAN><LI class=""><SPAN>        $r['html'] = curl_exec($ch);  </SPAN><LI class=alt><SPAN>        $r['http_code'] = curl_getinfo($ch, CURLINFO_HTTP_CODE);  </SPAN><LI class=""><SPAN>        curl_close($ch);  </SPAN><LI class=alt><SPAN>        return $r;  </SPAN><LI class=""><SPAN>    }  </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>    /**   </SPAN><LI class=alt><SPAN>     * 获取验证码图片和cookie  </SPAN><LI class=""><SPAN>     * @param Null  </SPAN><LI class=alt><SPAN>     *   </SPAN><LI class=""><SPAN>     * @return array('img'=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>String, 'cookie'=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>String)  </SPAN></SPAN><LI class=alt><SPAN>     */  </SPAN><LI class=""><SPAN>    function getVFCode ()   </SPAN><LI class=alt><SPAN>    {  </SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>vfcode</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>(  </SPAN></SPAN><LI class=alt><SPAN>            'header' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> true,  </SPAN></SPAN><LI class=""><SPAN>            'cookie' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> false,  </SPAN></SPAN><LI class=alt><SPAN>            'url'=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'http://ptlogin2.qq.com/getimage?</SPAN><SPAN class=attribute><FONT color=#ff0000>aid</FONT></SPAN><SPAN>='.$_GET['aid</SPAN><SPAN class=attribute-value><FONT color=#0000ff>'].'</FONT></SPAN><SPAN>&'.@$_GET['t'],  </SPAN></SPAN><LI class=""><SPAN>        );  </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>r</FONT></SPAN><SPAN> = $this-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>curlFunc($vfcode);  </SPAN></SPAN><LI class=alt><SPAN>        if ($r['http_code'] != 200 ) return false;  </SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>data</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>split</FONT></SPAN><SPAN>("n", $r['html']);  </SPAN></SPAN><LI class=alt><SPAN>        preg_match('/</SPAN><SPAN class=attribute><FONT color=#ff0000>verifysession</FONT></SPAN><SPAN>=([^;]+);/',$data[5], $temp);  </SPAN></SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>cookie</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>trim</FONT></SPAN><SPAN>($temp[1]);  </SPAN></SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>img</FONT></SPAN><SPAN> = $data[9];  </SPAN></SPAN><LI class=""><SPAN>        return  array('img'=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>$img,'cookie'=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>$cookie);  </SPAN></SPAN><LI class=alt><SPAN>    }  </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>    /**   </SPAN><LI class=""><SPAN>     * 登陆qq邮箱  </SPAN><LI class=alt><SPAN>     *   </SPAN><LI class=""><SPAN>     * @param $cookie getvfcode中生成的cookie  </SPAN><LI class=alt><SPAN>     *   </SPAN><LI class=""><SPAN>     * @return array(  </SPAN><LI class=alt><SPAN>     *   </SPAN><SPAN class=attribute><FONT color=#ff0000>sid</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>String , //用户认证的唯一标示  </SPAN></SPAN><LI class=""><SPAN>     *   </SPAN><SPAN class=attribute><FONT color=#ff0000>login</FONT></SPAN><SPAN> =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> Boolean, //true 登陆成功 ,false 登陆失败  </SPAN></SPAN><LI class=alt><SPAN>     *   </SPAN><SPAN class=attribute><FONT color=#ff0000>server_no</FONT></SPAN><SPAN> =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> String // 服务器编号  </SPAN></SPAN><LI class=""><SPAN>     *   </SPAN><SPAN class=attribute><FONT color=#ff0000>active</FONT></SPAN><SPAN> =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> Boolean //true 已开通 ,false 未开通 邮箱  </SPAN></SPAN><LI class=alt><SPAN>     *   </SPAN><SPAN class=attribute><FONT color=#ff0000>cookie</FONT></SPAN><SPAN> =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> String // 获取数据cookie  </SPAN></SPAN><LI class=""><SPAN>     *  </SPAN><LI class=alt><SPAN>     * );  </SPAN><LI class=""><SPAN>     */  </SPAN><LI class=alt><SPAN>    function login($cookie)   </SPAN><LI class=""><SPAN>    {  </SPAN><LI class=alt><SPAN>        /* 生成参数字符串 */  </SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>post</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>();  </SPAN></SPAN><LI class=alt><SPAN>        foreach($_POST as $</SPAN><SPAN class=attribute><FONT color=#ff0000>k</FONT></SPAN><SPAN> =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> $v) {  </SPAN></SPAN><LI class=""><SPAN>            $post[] = $k.'='.urlencode($v);  </SPAN><LI class=alt><SPAN>        }  </SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>poststr</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>implode</FONT></SPAN><SPAN>('&',$post);  </SPAN></SPAN><LI class=alt><SPAN>        $r['server_no'] = $_GET['server_no'];  </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>login</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>(  </SPAN></SPAN><LI class=""><SPAN>            'url'=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'http://'.$r['server_no'].'.mail.qq.com/cgi-bin/login?</SPAN><SPAN class=attribute><FONT color=#ff0000>sid</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>,2,zh_CN',  </SPAN></SPAN><LI class=alt><SPAN>            'header' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> true,  </SPAN></SPAN><LI class=""><SPAN>            'cookie' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> '</SPAN><SPAN class=attribute><FONT color=#ff0000>verifysession</FONT></SPAN><SPAN>='.$cookie,  </SPAN></SPAN><LI class=alt><SPAN>            'referer' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> 'http://mail.qq.com/cgi-bin/loginpage',  </SPAN></SPAN><LI class=""><SPAN>            'httpheader'=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>array(  </SPAN></SPAN><LI class=alt><SPAN>                "Host: " . $r['server_no'] . '.mail.qq.com',  </SPAN><LI class=""><SPAN>                "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.9) Gecko/2009040821 Firefox/3.0.9 FirePHP/0.2.4",  </SPAN><LI class=alt><SPAN>                "Content-Type: application/x-www-form-urlencoded",  </SPAN><LI class=""><SPAN>            ),  </SPAN><LI class=alt><SPAN>            'post' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> $poststr ,  </SPAN></SPAN><LI class=""><SPAN>        );  </SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>data</FONT></SPAN><SPAN> = $this-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>curlFunc($login);  </SPAN></SPAN><LI class=""><SPAN>        $data['html'] = iconv("gb2312", "UTF-8", $data['html']);  </SPAN><LI class=alt><SPAN>        if ($data['http_code'] != 200) {  </SPAN><LI class=""><SPAN>            $this-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>error($data);  </SPAN></SPAN><LI class=alt><SPAN>            return false;  </SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>        /* 测试数据 */  </SPAN><LI class=alt><SPAN>        //$data['html'] =file_get_contents('./r.txt');  </SPAN><LI class=""><SPAN>        $r['uin'] = $_POST['uin'];  </SPAN><LI class=alt><SPAN>        /* 登陆错误的判断 */  </SPAN><LI class=""><SPAN>        if (preg_match('|</SPAN><SPAN class=attribute><FONT color=#ff0000>errtype</FONT></SPAN><SPAN>=(d)|', $data['html'], $temp_err)) {  </SPAN></SPAN><LI class=alt><SPAN>            $r['login'] = false;  </SPAN><LI class=""><SPAN>            if ($temp_err[1] == 1) {  </SPAN><LI class=alt><SPAN>                $r['msg'] = '账号和密码错误';  </SPAN><LI class=""><SPAN>            } elseif ($temp_err[1] == 2) {  </SPAN><LI class=alt><SPAN>                $r['msg'] = '验证码错误';  </SPAN><LI class=""><SPAN>            }  </SPAN><LI class=alt><SPAN>            return $r;  </SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>        /* 登陆成功 */  </SPAN><LI class=""><SPAN>        preg_match('|</SPAN><SPAN class=attribute><FONT color=#ff0000>urlHead</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"([^"</FONT></SPAN><SPAN>]+)"|i',$data['html'],$temp_url);  </SPAN></SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>urlhead</FONT></SPAN><SPAN> = $temp_url[1];  </SPAN></SPAN><LI class=""><SPAN>        if (preg_match('|frame_html?</SPAN><SPAN class=attribute><FONT color=#ff0000>sid</FONT></SPAN><SPAN>=([^"]+)"|i',$data['html'],$temp_sid) ) {  </SPAN></SPAN><LI class=alt><SPAN>            $r['sid'] = $temp_sid[1];  </SPAN><LI class=""><SPAN>            $r['active'] = true;  </SPAN><LI class=alt><SPAN>        } elseif (preg_match('|autoactivation?</SPAN><SPAN class=attribute><FONT color=#ff0000>sid</FONT></SPAN><SPAN>=([^&]+)?&|i',$data['html'],$temp_sid) ) {  </SPAN></SPAN><LI class=""><SPAN>            $r['sid'] = $temp_sid[1];  </SPAN><LI class=alt><SPAN>            $r['active'] = false;  </SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>        /* 登录后cookie的获取 ,在后续操作中用到 */  </SPAN><LI class=""><SPAN>        if (preg_match_all('|Set-Cookie:([^=]+=[^;]+)|i', $data['html'], $new_cookies) ) {  </SPAN><LI class=alt><SPAN>            $</SPAN><SPAN class=attribute><FONT color=#ff0000>cookiestr</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>implode</FONT></SPAN><SPAN>('; ', $new_cookies[1]);  </SPAN></SPAN><LI class=""><SPAN>            $cookiestr </SPAN><SPAN class=attribute><FONT color=#ff0000>.</FONT></SPAN><SPAN>= </SPAN><SPAN class=attribute-value><FONT color=#0000ff>'; verifysession='</FONT></SPAN><SPAN>.$cookie;  </SPAN></SPAN><LI class=alt><SPAN>        }  </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>        $r['login'] = true;  </SPAN><LI class=""><SPAN>        $r['cookie'] = $cookiestr;  </SPAN><LI class=alt><SPAN>        return $r;  </SPAN><LI class=""><SPAN>    }  </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>    function openEmail($param)   </SPAN><LI class=alt><SPAN>    {  </SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>openEmail</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>(  </SPAN></SPAN><LI class=alt><SPAN>            'url'=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'http://'.$param['server_no'].'.mail.qq.com/cgi-bin/autoactivation?</SPAN><SPAN class=attribute><FONT color=#ff0000>actmode</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>6</FONT></SPAN><SPAN>&</SPAN><SPAN class=attribute><FONT color=#ff0000>sid</FONT></SPAN><SPAN class=attribute-value><FONT color=#0000ff>sid</FONT></SPAN><SPAN>='.$param['sid'],  </SPAN></SPAN><LI class=""><SPAN>            'header' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> true,  </SPAN></SPAN><LI class=alt><SPAN>            'cookie' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> $param['cookie'],  </SPAN></SPAN><LI class=""><SPAN>            'referer' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> 'http://'.$param['server_no'].'mail.qq.com/cgi-bin/autoactivation?</SPAN><SPAN class=attribute><FONT color=#ff0000>sid</FONT></SPAN><SPAN>='.$param['sid</SPAN><SPAN class=attribute-value><FONT color=#0000ff>'].'</FONT></SPAN><SPAN>&</SPAN><SPAN class=attribute><FONT color=#ff0000>action</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>reg_activate</FONT></SPAN><SPAN>&</SPAN><SPAN class=attribute><FONT color=#ff0000>actmode</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>6</FONT></SPAN><SPAN>',   </SPAN></SPAN><LI class=alt><SPAN>            'httpheader'=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>array(  </SPAN></SPAN><LI class=""><SPAN>                "Host: " . $param['server_no'] . '.mail.qq.com',  </SPAN><LI class=alt><SPAN>                'Accept-Charset: gb2312,utf-8;</SPAN><SPAN class=attribute><FONT color=#ff0000>q</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>.7,*;</SPAN><SPAN class=attribute><FONT color=#ff0000>q</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>.7',  </SPAN></SPAN><LI class=""><SPAN>                "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.9) Gecko/2009040821 Firefox/3.0.9 FirePHP/0.2.4",  </SPAN><LI class=alt><SPAN>            ),  </SPAN><LI class=""><SPAN>        );  </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>data</FONT></SPAN><SPAN> =  $this-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>curlFunc($openEmail);  </SPAN></SPAN><LI class=alt><SPAN>        if (preg_match('|</SPAN><SPAN class=attribute><FONT color=#ff0000>Set-Cookie:qqmail_activated</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>|i', $data['html'])) {  </SPAN></SPAN><LI class=""><SPAN>            $param['active'] = true;  </SPAN><LI class=alt><SPAN>            $param['cookie'] = $param['cookie'] .'; </SPAN><SPAN class=attribute><FONT color=#ff0000>qqmail_activated</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>; </SPAN><SPAN class=attribute><FONT color=#ff0000>qqmail_alias</FONT></SPAN><SPAN>=';  </SPAN></SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>        return $param;  </SPAN><LI class=""><SPAN>    }  </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>    /**   </SPAN><LI class=alt><SPAN>     *   </SPAN><LI class=""><SPAN>     * 获取friends数据   </SPAN><LI class=alt><SPAN>     *   </SPAN><LI class=""><SPAN>     * @param $</SPAN><SPAN class=attribute><FONT color=#ff0000>param</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>(  </SPAN></SPAN><LI class=alt><SPAN>     *   </SPAN><SPAN class=attribute><FONT color=#ff0000>sid</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>String , //用户认证的唯一标示  </SPAN></SPAN><LI class=""><SPAN>     *   </SPAN><SPAN class=attribute><FONT color=#ff0000>login</FONT></SPAN><SPAN> =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> Boolean, //true 登陆成功 ,false 登陆失败  </SPAN></SPAN><LI class=alt><SPAN>     *   </SPAN><SPAN class=attribute><FONT color=#ff0000>server_no</FONT></SPAN><SPAN> =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> String // 服务器编号  </SPAN></SPAN><LI class=""><SPAN>     *   </SPAN><SPAN class=attribute><FONT color=#ff0000>active</FONT></SPAN><SPAN> =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> Boolean //true 已开通 ,false 未开通 邮箱  </SPAN></SPAN><LI class=alt><SPAN>     *   </SPAN><SPAN class=attribute><FONT color=#ff0000>cookie</FONT></SPAN><SPAN> =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> String // 获取数据cookie  </SPAN></SPAN><LI class=""><SPAN>     *  </SPAN><LI class=alt><SPAN>     * );  </SPAN><LI class=""><SPAN>     * @return Array(  </SPAN><LI class=alt><SPAN>     *   </SPAN><SPAN class=attribute><FONT color=#ff0000>key</FONT></SPAN><SPAN>=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>value, // key:qq号,value: nickname  </SPAN></SPAN><LI class=""><SPAN>     * );  </SPAN><LI class=alt><SPAN>     */  </SPAN><LI class=""><SPAN>    function getFriends($param)  </SPAN><LI class=alt><SPAN>    {  </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>friend</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array</FONT></SPAN><SPAN>(  </SPAN></SPAN><LI class=""><SPAN>            'url'=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>'http://'.$param['server_no'].'.mail.qq.com/cgi-bin/addr_listall?</SPAN><SPAN class=attribute><FONT color=#ff0000>type</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>user</FONT></SPAN><SPAN>&&</SPAN><SPAN class=attribute><FONT color=#ff0000>category</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>all</FONT></SPAN><SPAN>&</SPAN><SPAN class=attribute><FONT color=#ff0000>sid</FONT></SPAN><SPAN class=attribute-value><FONT color=#0000ff>sid</FONT></SPAN><SPAN>='.$param['sid'],  </SPAN></SPAN><LI class=alt><SPAN>            'header' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> true,  </SPAN></SPAN><LI class=""><SPAN>            'cookie' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> $param['cookie'],  </SPAN></SPAN><LI class=alt><SPAN>            'referer' =</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN> 'http://m151.mail.qq.com/cgi-bin/addr_listall?</SPAN><SPAN class=attribute><FONT color=#ff0000>sid</FONT></SPAN><SPAN>='.$param['sid</SPAN><SPAN class=attribute-value><FONT color=#0000ff>'].'</FONT></SPAN><SPAN>&</SPAN><SPAN class=attribute><FONT color=#ff0000>sorttype</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>null</FONT></SPAN><SPAN>&</SPAN><SPAN class=attribute><FONT color=#ff0000>category</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>common</FONT></SPAN><SPAN>',  </SPAN></SPAN><LI class=""><SPAN>            'httpheader'=</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>array(  </SPAN></SPAN><LI class=alt><SPAN>                "Host: " . $param['server_no'] . '.mail.qq.com',  </SPAN><LI class=""><SPAN>                'Accept-Charset:utf-8;</SPAN><SPAN class=attribute><FONT color=#ff0000>q</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>.7,*;</SPAN><SPAN class=attribute><FONT color=#ff0000>q</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>0</FONT></SPAN><SPAN>.7',  </SPAN></SPAN><LI class=alt><SPAN>                "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.9) Gecko/2009040821 Firefox/3.0.9 FirePHP/0.2.4",  </SPAN><LI class=""><SPAN>            ),  </SPAN><LI class=alt><SPAN>        );  </SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>r</FONT></SPAN><SPAN> = $this-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>curlFunc($friend);  </SPAN></SPAN><LI class=alt><SPAN>        if ($r['http_code'] != 200) {  </SPAN><LI class=""><SPAN>            $this-</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>error($r);  </SPAN></SPAN><LI class=alt><SPAN>            return false;  </SPAN><LI class=""><SPAN>        }  </SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>data</FONT></SPAN><SPAN> =  $r['html'];  </SPAN></SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>preg</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>preg_match_all</FONT></SPAN><SPAN>('|</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>p</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>class</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"L_n"</FONT></SPAN><STRONG><FONT color=#006699><SPAN class=tag>></SPAN><SPAN class=tag><</SPAN><SPAN class=tag-name>span</SPAN><SPAN class=tag>></SPAN><SPAN class=tag><</SPAN><SPAN class=tag-name>img</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>class</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"L_q"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>qqplusimg</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>key</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"(d+)"</FONT></SPAN><SPAN>[^</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>]+</SPAN><SPAN class=tag><STRONG><FONT color=#006699>/></FONT></STRONG></SPAN><SPAN> ([^</SPAN><SPAN class=tag><STRONG><FONT color=#006699><</FONT></STRONG></SPAN><SPAN>]+)</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>span</SPAN><SPAN class=tag>></SPAN><SPAN class=tag></</SPAN><SPAN class=tag-name>p</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>|i', $data, $temp_list);  </SPAN></SPAN><LI class=alt><SPAN>        if ($</SPAN><SPAN class=attribute><FONT color=#ff0000>preg</FONT></SPAN><SPAN> == 0) return array();  </SPAN></SPAN><LI class=""><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>list</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>array_combine</FONT></SPAN><SPAN>($temp_list[1],$temp_list[2]);  </SPAN></SPAN><LI class=alt><SPAN>        return $list;  </SPAN><LI class=""><SPAN>    }  </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>    /**   </SPAN><LI class=alt><SPAN>     * 错误显示  </SPAN><LI class=""><SPAN>     *   </SPAN><LI class=alt><SPAN>     * @param $str array  </SPAN><LI class=""><SPAN>     *   </SPAN><LI class=alt><SPAN>     * @return   </SPAN><LI class=""><SPAN>     */  </SPAN><LI class=alt><SPAN>    function error($str) {  </SPAN><LI class=""><SPAN>        $str['html'] = str_replace('script','', $str['html']);  </SPAN><LI class=alt><SPAN>        var_dump($str);  </SPAN><LI class=""><SPAN>        exit;  </SPAN><LI class=alt><SPAN>    }  </SPAN><LI class=""><SPAN>}  </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></FONT></STRONG></SPAN><SPAN> </SPAN></SPAN></LI></OL>
登录后复制

怎么样,通过以上对于PHP获取QQ邮箱好友的代码的介绍,大家是否已经完全掌握了呢?

影像之匠PixPretty
影像之匠PixPretty

商业级AI人像后期软件,专注于人像精修,色彩调节及批量图片编辑,支持Windows、Mac多平台使用。适用于写真、婚纱、旅拍、外景等批量修图场景。

影像之匠PixPretty 299
查看详情 影像之匠PixPretty

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446439.htmlTechArticle目前,大家都在使用QQ,并且还将QQ附带的一些其他软件当做自己的日常使用工具。今天我们就向大家介绍有关如何运用 具体的PHP获取QQ邮箱...
相关标签:
QQ邮箱
QQ邮箱

QQ邮箱是腾讯公司推出的一款专业、安全、便捷的手机邮箱应用。QQ邮箱整合了QQ社交网络的优势,并结合了电子邮件的功能,为用户提供了一个全方位的邮件管理平台,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号