2007年11月9日 星期五

使用snoopy提交數據實現登陸

模擬登陸可以用curl或者socket來實現,當curl需要服務器相應的啟用curl module,自己socket實現相對比較麻煩,使用snoopy就簡單了很多啦。

首先,我們要獲取到登陸需要發送什麼字段,目標地址是什麼。這裡我們使用snoopy的fetchform來實現。

include "Snoopy.class.php";
$snoopy = new Snoopy;
$snoopy->fetchform("http://www.xxx.com/logging.php?action=login");
print $snoopy->results;
?>

當然你也可以直接查看源代碼來實現,不過這樣更加方便把。這裡,我們獲取到目標和提交的數據,下一步就可以實現模擬登陸了。代碼如下:

include "Snoopy.class.php";
$snoopy = new Snoopy;
$submit_url = "http://www.xxx.com/logging.php?action=login";

$submit_vars["loginmode"] = "normal";
$submit_vars["styleid"] = "1";
$submit_vars["cookietime"] = "315360000";
$submit_vars["loginfield"] = "username";
$submit_vars["username"] = "********"; //你的用戶名
$submit_vars["password"] = "*******"; //你的密碼
$submit_vars["questionid"] = "0";
$submit_vars["answer"] = "";
$submit_vars["loginsubmit"] = "提   交";
$snoopy->submit($submit_url,$submit_vars);
print $snoopy->results;

?>

沒有留言: