相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- PHP中opcode緩存簡(jiǎn)單用法分析
- thinkPHP控制器變量在模板中的顯示方法示例
- PHP move_uploaded_file() 函數(shù)(將上傳的文件移動(dòng)到新位置)
- dirname(__FILE__)的含義和應(yīng)用說明
- thinkPHP5框架實(shí)現(xiàn)分頁查詢功能的方法示例
- PHP中單雙號(hào)與變量
- PHP獲得當(dāng)日零點(diǎn)時(shí)間戳的方法分析
- Laravel ORM對(duì)Model::find方法進(jìn)行緩存示例詳解
- PHP讀寫文件高并發(fā)處理操作實(shí)例詳解
- 【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)
PHP簡(jiǎn)單實(shí)現(xiàn)模擬登陸功能示例
本文實(shí)例講述了PHP簡(jiǎn)單實(shí)現(xiàn)模擬登陸功能。分享給大家供大家參考,具體如下:
在不考慮驗(yàn)證碼的情況一下,php實(shí)現(xiàn)模擬登陸,網(wǎng)上給的辦法一般是采用curl來模擬實(shí)現(xiàn),但是curl實(shí)現(xiàn)的是服務(wù)器端與服務(wù)器端建立了會(huì)話,只能模擬登陸之后獲取登陸之后的數(shù)據(jù),無法將cookie信息種植到客戶端上(至少目前本人查找沒有找到辦法)最后自己通過隱藏的iframe來實(shí)現(xiàn)。
1、curl實(shí)現(xiàn)模擬登陸的代碼,(只是實(shí)現(xiàn)服務(wù)器與服務(wù)器建立會(huì)話,其實(shí)并沒有在客戶端與服務(wù)器之間建立會(huì)話)
<?php $cookie_jar = tempnam('./tmp','cookie'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://192.168.0.22/logincheck.php'); curl_setopt($ch, CURLOPT_POST, 1); $request = 'UNAME=admin&PASSWORD=123456'; curl_setopt($ch, CURLOPT_POSTFIELDS, $request); //把返回來的cookie信息保存在$cookie_jar文件中 curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar); //設(shè)定返回的數(shù)據(jù)是否自動(dòng)顯示 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //設(shè)定是否顯示頭信息 curl_setopt($ch, CURLOPT_HEADER, false); //設(shè)定是否輸出頁面內(nèi)容 curl_setopt($ch, CURLOPT_NOBODY, false); curl_exec($ch); curl_close($ch); //get data after login $ch2 = curl_init(); curl_setopt($ch2, CURLOPT_URL, 'http://192.168.0.22/general/'); curl_setopt($ch2, CURLOPT_HEADER, false); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch2, CURLOPT_COOKIEFILE, $cookie_jar); $orders = curl_exec($ch2); echo $orders; exit; echo '<pre>'; echo strip_tags($orders); echo '</pre>'; curl_close($ch2); ?>