[php]discuz论坛登陆信息判断外部调用的用法实例
方法1:discuz登陆框是ajax调用的,一开始在firebug下看到了调用了接口:
http://home.ecjtu.net/member.php
?mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login
1 http://home.ecjtu.net/member.php
2 ?mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login
这返回的是一个xml的内容,其中就一个结点root,里面会根据本地的cookies判断是否登录了论坛,如果没有登陆里面的内容就是一段form登陆表单。如果登陆了里面就是一段登陆后的信息。然后将ajax请求中的css保存到本地。能够实现登陆框调用。登陆框中有一个hidden的input name=‘reffer’ 这里面的value值是来路链接.不过要是论坛程序里的。比如将这个连接换成http://home.ecjtu.net/home.php?mod=spacecp&ac=blog这样登陆完后会自动跳转到发博客的页面。可以实现一键发帖功能。
代码如下:
<?php
$login = file_get_contents("http://home.ecjtu.net/member.php?
mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login");
require_once('SofeeXmlParser.php');//xml解析类 博客里搜索xml有相关介绍
$xml = new SofeeXmlParser();
$xml->parseString($login);
$tree = $xml->getTree();
$login = str_replace("member.php","http://home.ecjtu.net/member.php",$tree["root"]["value"]);
$login = str_replace("http://home.ecjtu.net/./","http://home.ecjtu.net/home.php?
mod=spacecp&ac=blog",$login);//跳转到发帖页面
$login = preg_replace('/<h3 class="flb">(.*)<\/h3>/i','',$login);
var_dump($login);
exit();
$login = iconv('utf-8','gbk',$login);
echo $login;
?>
01 <?php
02 $login = file_get_contents("http://home.ecjtu.net/member.php?
03 mod=logging&action=login&infloat=yes&handlekey=login&inajax=1&ajaxtarget=fwin_content_login");
04 require_once('SofeeXmlParser.php');//xml解析类 博客里搜索xml有相关介绍
05 $xml = new SofeeXmlParser();
06 $xml->parseString($login);
07 $tree = $xml->getTree();
08 $login = str_replace("member.php","http://home.ecjtu.net/member.php",$tree["root"]["value"]);
09 $login = str_replace("http://home.ecjtu.net/./","http://home.ecjtu.net/home.php?
10 mod=spacecp&ac=blog",$login);//跳转到发帖页面
11 $login = preg_replace('/<h3 class="flb">(.*)<\/h3>/i','',$login);
12 var_dump($login);
13 exit();
14 $login = iconv('utf-8','gbk',$login);
15
16 echo $login;
17 ?>
sad.png
这个方法缺点是form中的内容不好改变。正则都不好匹配div class都一样...一定要按这个样式来。
热门文章推荐
- [php]优酷真实视频地址解析算法
- [Dz]discuz手机版支持视频播放的方法
- [PHP]php加密js解密的方法实例
- [php]用PHP打印出前一天的时间格式
- [PHP]mpeg,mp3,avi的ffmpeg的php转换类
- [php]php中3DES加密一个非常有用的3des加密
- [PHP]php.ini修改上传文件的大小限制处理方法
- [php]用过的最好用的php分页类源代码