必度網部落格改版需要在首頁程式添加discuz的登陸,方便輔導員寫部落格。這就涉及到外部程式調用discuz登
錄框的問題。弄了1天發現了幾種方法:
方法1:discuz登陸框是ajax調用的,一開始在firebug下看到了調用了介面:
?
| 12 |
http://pekdo.com/member.php ?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這樣登陸完後會
自動跳轉到發部落格的頁面。可以實現一鍵發帖功能。
代碼如下:
?
| 1234567891011121314151617 |
<?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://pekdo.com/member.php",$tree["root"]["value"]); $login = str_replace("http://pekdo.com/./","http://pekdo.com/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; ?> |