国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

PHP使用CURL模擬登錄的方法

2024-04-25 20:38:32
字體:
來源:轉載
供稿:網友

網上的很多模擬登錄程序,大都是通過服務程序apache之類的運行,獲取到驗證碼之后顯示在網頁上,然后填上再POST出去,這樣雖然看起來很友 好,但是既然模擬登錄,登錄后所干的事情就不一定是短時間完成的,所以這就要受到php最大執行時間的限制,而且有些操作還有可能權限不足。

本文提供了一個程序實例,思路就是獲取到驗證碼之后把驗證碼存儲為一個圖片,然后程序休眠20秒,在20秒之后由用戶手動查看圖片,并把驗證碼填寫 到code.txt文件中,20秒休眠完成后,程序會讀code.txt的驗證碼,這樣再帶著驗證碼進行登錄操作。具體代碼如下:

/**

* 模擬登錄

*/

//初始化變量

$cookie_file = "tmp.cookie";

$login_url = "http://xxx.com/logon.php";

$verify_code_url = "http://xxx.com/verifyCode.php";

echo "正在獲取COOKIE.../n";

$curlj = curl_init();

$timeout = 5;

curl_setopt($curl, CURLOPT_URL, $login_url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);

curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie_file); //獲取COOKIE并存儲

$contents = curl_exec($curl);

curl_close($curl);

echo "COOKIE獲取完成,正在取驗證碼.../n";

//取出驗證碼

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $verify_code_url);

curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);

curl_setopt($curl, CURLOPT_HEADER, 0);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$img = curl_exec($curl);

curl_close($curl);

$fp = fopen("verifyCode.jpg","w");

fwrite($fp,$img);

fclose($fp);

echo "驗證碼取出完成,正在休眠,20秒內請把驗證碼填入code.txt并保存/n";

//停止運行20秒

sleep(20);

echo "休眠完成,開始取驗證碼.../n";

$code = file_get_contents("code.txt");

echo "驗證碼成功取出:$code/n";

echo "正在準備模擬登錄.../n";

$post = "username=maben&pwd=hahahaha&verifycode=$code";

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_HEADER, false);

curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);

curl_setopt($curl, CURLOPT_POSTFIELDS, $post);

curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);

$result=curl_exec($curl);

curl_close($curl);

//這一塊根據自己抓包獲取到的網站上的數據來做判斷

if(substr_count($result,"登錄成功")){

echo "登錄成功/n";

}else{

echo "登錄失敗/n";

exit;

}

//OK,開始做你想做的事吧。。。。。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资阳市| 云浮市| 曲周县| 原阳县| 德化县| 白城市| 宁德市| 棋牌| 孙吴县| 凤山县| 游戏| 巴青县| 阳原县| 连云港市| 临沧市| 措勤县| 韶关市| 延吉市| 姜堰市| 彩票| 汶上县| 镇沅| 义马市| 潮安县| 马尔康县| 富阳市| 德惠市| 安顺市| 盐边县| 始兴县| 义乌市| 酉阳| 铜川市| 屏南县| 秦安县| 江永县| 镇江市| 磐安县| 濉溪县| 临城县| 通辽市|