最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP使用CURL模擬登錄的方法

 更新時間:2015年07月08日 10:34:38   投稿:hebedich  
本文給大家介紹的是PHP使用CURL模擬登錄的方法,思路和其他模擬登陸的程序不同,有需要的小伙伴可以詳細看下。

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

本文提供了一個程序?qū)嵗?,思路就是獲取到驗證碼之后把驗證碼存儲為一個圖片,然后程序休眠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秒內(nèi)請把驗證碼填入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);
 
//這一塊根據(jù)自己抓包獲取到的網(wǎng)站上的數(shù)據(jù)來做判斷
if(substr_count($result,"登錄成功")){
 echo "登錄成功\n";
}else{
 echo "登錄失敗\n";
 exit;
}
 
//OK,開始做你想做的事吧。。。。。
 

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

相關(guān)文章

  • php7和php5具體區(qū)別實例講解

    php7和php5具體區(qū)別實例講解

    這篇文章主要介紹了php7和php5具體區(qū)別實例講解,代碼對比的很清楚,對此不太清楚的同學(xué)可以多研究下
    2021-01-01
  • 詳解PHP的Yii框架中日志的相關(guān)配置及使用

    詳解PHP的Yii框架中日志的相關(guān)配置及使用

    這篇文章主要介紹了PHP的Yii框架中日志的相關(guān)配置及使用,包括bug追蹤以及數(shù)據(jù)庫查詢耗時記錄等,需要的朋友可以參考下
    2015-12-12
  • 用php解析html的實現(xiàn)代碼

    用php解析html的實現(xiàn)代碼

    用php解析html的實現(xiàn)代碼,一般做采集的朋友需要用得到。
    2011-08-08
  • 解析php中eclipse 用空格替換 tab鍵

    解析php中eclipse 用空格替換 tab鍵

    本篇文章是對php中eclipse用空格替換tab鍵的方法進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • php使用socket簡單實現(xiàn)通信功能

    php使用socket簡單實現(xiàn)通信功能

    socket只不過是一個數(shù)據(jù)結(jié)構(gòu)。使用這個socket數(shù)據(jù)結(jié)構(gòu)去開始一個客戶端和服務(wù)器之間的會話。服務(wù)器是一直在監(jiān)聽準備產(chǎn)生一個新的會話。當一個客戶端連接服務(wù)器,它就打開服務(wù)器正在進行監(jiān)聽的一個端口進行會話
    2023-03-03
  • php內(nèi)核解析:PHP中的哈希表

    php內(nèi)核解析:PHP中的哈希表

    PHP中使用最為頻繁的數(shù)據(jù)類型非字符串和數(shù)組莫屬,PHP比較容易上手也得益于非常靈活的數(shù)組類型。 在開始詳細介紹這些數(shù)據(jù)類型之前有必要介紹一下哈希表(HashTable)。 哈希表是PHP實現(xiàn)中尤為關(guān)鍵的數(shù)據(jù)結(jié)構(gòu)
    2014-01-01
  • php生成無限欄目樹

    php生成無限欄目樹

    本文主要介紹了php生成無限欄目樹的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • 人盡可用的Windows技巧小貼士之下篇

    人盡可用的Windows技巧小貼士之下篇

    人盡可用的Windows技巧小貼士之下篇...
    2007-03-03
  • Godaddy空間Zend Optimizer升級方法

    Godaddy空間Zend Optimizer升級方法

    雖然購買了godaddy的空間,期間也遇到很多的問題,在慢慢的額摸索中,也有的一些解決的方法。
    2010-05-05
  • php 時間time與日期date之間的使用詳解及區(qū)別

    php 時間time與日期date之間的使用詳解及區(qū)別

    PHP中有time函數(shù),也有date函數(shù),這兩個函數(shù)在使用時候的區(qū)別很明顯。但更應(yīng)注意,time和date是兩個完全不時的格式,當然還有一種字符串格式。本文重點介紹這幾者的區(qū)別。
    2016-11-11

最新評論

昆明市| 米泉市| 黑山县| 兴宁市| 梧州市| 绥滨县| 丘北县| 通化市| 聂拉木县| 仲巴县| 蕲春县| 札达县| 湖口县| 鹤山市| 延长县| 平湖市| 永丰县| 潢川县| 余干县| 冕宁县| 金阳县| 十堰市| 桐乡市| 漠河县| 阿勒泰市| 嘉义县| 海丰县| 湖州市| 芮城县| 丰原市| 平舆县| 永济市| 潮安县| 屯门区| 东源县| 西昌市| 温州市| 贺州市| 宁都县| 澄江县| 康平县|