亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

PHP curl模擬登錄帶驗證碼的網站

2024-05-04 23:40:38
字體:
來源:轉載
供稿:網友
最近接了個項目,其中有需求是要登錄帶驗證碼的網站,獲取數據,但是我們不可能人為的一直去記錄數據,想通過自動采集的方式進行,下面小編給大家帶來的相關代碼,對php curl 模擬登錄帶驗證碼的網站感興趣的朋友一起學習吧
 

需求是這樣的,需要登錄帶驗證碼的網站,獲取數據,但是不可能人為一直去記錄數據,想通過自動采集的方式進行,如下是試驗出來的結果代碼!有需要的可以參考下!

<?phpnamespace Home/Controller;use Think/Controller;class LoginController extends Controller{  protected $cookieName = array('cookie_verify', 'cookie_verify');  protected $cookiePath = '/cookie/';  protected $cookiePathFile = array();  public function index()  {    $this->display();  }  public function _initialize(){    foreach($this->cookieName as $key => $name)    {      $this->cookiePathFile[] = ROOT_PATH . $this->cookiePath . $this->cookieName[$key] . '_xxx.txt';    }  }  /**   * 登錄xxx   */  public function xxxLogin()  {    $username = I('username');    $password = I('password');    $verifyCode = I('verify');    $loginData = array(      '__VIEWSTATE' => '/wEPDwUKMTU0MzAzOTU4NmQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFDExvZ2luX1N1Ym1pdL/yae69NsY163G3yuP0lxjz8oXu',              //不把參數補全可能會不被響應哦      '__VIEWSTATEGENERATOR' => 'DC42DE27',      'txt_UserName' => $username,      'txt_PWD' => $password,      'txt_VerifyCode' => $verifyCode,      'SMONEY' => 'ABC',      'Login_Submit.x' => '52',      'Login_Submit.y' => '19',    );    $getBack = $this->_cookieRequest('http://xxx.com/noLogin.aspx', $loginData);    if(preg_match('/<div[^/<div]*?id/s*=/s*[/'/"]{1}div_msg[/'/"]{1}.*?>(.*?)<//div>/s', $getBack, $match)){      echo 'matched/r/n';      print_r($match);    }else{      echo $getBack, '<br />';      $paramsFull = parse_url($getBack);      parse_str($paramsFull['query'], $paramsFull['parsedQuery']);      if(!empty($paramsFull['parsedQuery']['Warn'])) {        $msg = "您好,歡迎來P,請先登錄。";        switch ($paramsFull['parsedQuery']['Warn'])        {          case '2':            $msg = '您輸入的驗證碼錯誤,請重試';            break;          case '3':            $msg = '該帳號不存在,還沒帳號?';            break;          case '5':            $msg = '賬戶已注銷';            break;          case '6':            $msg = '密碼錯誤,如果連續錯誤3次半小時內不能登錄!';            break;          case '20':            $msg = '今日密碼錯誤3次及以上,請于半小時后再來登錄!';            break;          case '21':            $msg = '今日您所在IP的所有帳號密碼錯誤9次以上,請于半小時后再來登錄!';            break;          case '22':            $msg = '登錄失敗,您所在IP今日登錄的帳號過多!';            break;          case '23':            $msg = '登錄失敗,驗證碼失效!';            break;          case '32':            $msg = '該帳號已經綁定其他xx帳號!';            break;          case '33':            $msg = '一臺電腦一天只能注冊一個帳號!';            break;        }        $this->error($msg, '', 5);      }else{        $_SESSION['user_id'] = '123456';      //登錄設置session        $this->success('登錄P網站成功', U('Index/index'), 5);      }    }  }  /**   * 獲取驗證碼   */  public function getVerifyCode()  {    $img = $this->_cookieRequest('http://xxx.com/VerifyCode_Login.aspx?id=' . rand(10000,999999), null, true, 1);    echo $img;  }  /**   * 刪除cookie   */  public function clearCookie()  {    for($i = 0; $i <count($this->cookieName); $i++)    {      setcookie($this->cookieName[$i], '', time() - 3600);    }//    unlink($this->cookiePathFile);    $this->success('清除cookie成功!');  }  /**   * 帶COOKIE的訪問curl   * @param $url 訪問地址   * @param bool|array $data 傳遞的數據   * @param bool $redirect 是否獲取重定向的地址   * @return mixed 地址或者返回內容   */  public function _cookieRequest($url, $data = null, $redirect = false, $cookieNum = 0)  {    $ch = curl_init();    $params[CURLOPT_URL] = $url;             //請求url地址    $params[CURLOPT_HEADER] = false;           //是否返回響應頭信息    $params[CURLOPT_RETURNTRANSFER] = true;       //是否將結果返回    $params[CURLOPT_FOLLOWLOCATION] = true;       //是否重定向    $params[CURLOPT_USERAGENT] = 'Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1';    if($data)    {      $params[CURLOPT_POST] = true;      $params[CURLOPT_POSTFIELDS] = http_build_query($data);    }    //判斷是否有cookie,有的話直接使用    if (!empty($_COOKIE[$this->cookieName[$cookieNum]]) && is_file($this->cookiePathFile[$cookieNum]))    {      $params[CURLOPT_COOKIEFILE] = $this->cookiePathFile[$cookieNum];   //這里判斷cookie    }    else    {//      $cookie_jar = tempnam($cookie_path, 'cookie');            //產生一個cookie文件      $params[CURLOPT_COOKIEJAR] = $this->cookiePathFile[$cookieNum];    //寫入cookie信息      setcookie($this->cookieName[$cookieNum], $this->cookiePathFile[$cookieNum], time() + 120);   //保存cookie路徑    }    curl_setopt_array($ch, $params);                      //傳入curl參數    $content = curl_exec($ch);    $headers = curl_getinfo($ch);//    echo $content;    curl_close($ch);    if ($url != $headers["url"] && $redirect == false)     {      return $headers["url"];     }      return $content;     }  }

登錄以后,就可以使用帶cookie的訪問其他頁面了!

ps:php curl 登錄淘寶

提交上去后顯示為填寫驗證碼,登錄不上去

 填寫驗證碼提交:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">  <head>       <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />   <title></title>  </head>  <body>  <iframe id='img' src="b.php" width="950" height="300" scrolling="No" frameborder="0"></iframe>  <form action="tb.php" method="POST">  <textarea name="vv" cols="50" rows="10">umto=&action=Authenticator&event_submit_do_login=anything&from=tb&fc=default&style=default&css_style=&tid=XOR_1_000000000000000000000000000000_63504554470A7C717F750278&support=000001&CtrlVersion=1,0,0,7&loginType=3&minititle=&minipara=&pstrong=&llnick=&sign=&need_sign=&isIgnore=&full_redirect=&popid=&callback=&guf=¬_duplite_str=&need_user_id=&poy=XOR_1_000000000000000000000000000000_625A424A45137C6F7A7F0B786D08&gvfdcname=&gvfdcre=&from_encoding=&TPL_redirect_url=http:www.taobao.com&TPL_username=xxx&TPL_password=xxxx&need_check_code=&&TPL_checkcode=</textarea>  <input type="submit" />  </form>   </body></html>
<?phpsession_start();if(empty($_SESSION['cookie_jar'])) exit();$cookie_jar=$_SESSION['cookie_jar'];$post_fields=$_POST["vv"];$ch = curl_init('https://login.taobao.com/member/login.jhtml'); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; QQWubi 133; Embedded Web Browser from: http://bsalsa.com/; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Tablet PC 2.0; .NET4.0C; .NET4.0E; InfoPath.3; Media Center PC 6.0)"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_jar); $data = curl_exec($ch); curl_close($ch);echo $data;exit;$ch = curl_init('http://www.taobao.com'); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; QQWubi 133; Embedded Web Browser from: http://bsalsa.com/; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Tablet PC 2.0; .NET4.0C; .NET4.0E; InfoPath.3; Media Center PC 6.0)"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE); curl_exec($ch); curl_close($ch); ?>

提取驗證碼

<?phpsession_start();$cookie_jar=tempnam("./temp/","cookie");$_SESSION['cookie_jar']=$cookie_jar;$post_fields = "action=Authenticator&event_submit_do_login=anything&from=tb&fc=default&style=default&css_style=&tid=XOR_1_000000000000000000000000000000_63504554470A7C717F750278&support=000001&CtrlVersion=1,0,0,7&loginType=3&minititle=&minipara=&pstrong=&llnick=&sign=&need_sign=&isIgnore=&full_redirect=&popid=&callback=&guf=¬_duplite_str=&need_user_id=&poy=XOR_1_000000000000000000000000000000_625A424A45137C6F7A7F0B786D08&gvfdcname=&gvfdcre=&from_encoding=&TPL_redirect_url=http:www.taobao.com&TPL_username=xxx&TPL_password=xxx"; $ch = curl_init('https://login.taobao.com/member/login.jhtml'); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; QQWubi 133; Embedded Web Browser from: http://bsalsa.com/; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Tablet PC 2.0; .NET4.0C; .NET4.0E; InfoPath.3; Media Center PC 6.0)"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); $data = curl_exec($ch); curl_close($ch); preg_match("/id=/"um_to/" name=/"umto/" value=/"(.*?)/"//>/", $data, $arr); $post_fields = "umto=" . $arr[1] . "&" . $post_fields."&TPL_checkcode="; echo "<textarea cols=50 rows=10>" . $post_fields . "</textarea><br/>" ; $ch = curl_init('https://login.taobao.com/member/login.jhtml'); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; QQWubi 133; Embedded Web Browser from: http://bsalsa.com/; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Tablet PC 2.0; .NET4.0C; .NET4.0E; InfoPath.3; Media Center PC 6.0)"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_jar);curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_jar); $data = curl_exec($ch); curl_close($ch);preg_match("/img id=/"J_StandardCode_m/" src=/"(.*?)/" data-src=/", $data, $arr1); echo "<img src=".$arr1[1]." />";exit;?>


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本高清久久天堂| 亚洲片av在线| 日韩亚洲精品电影| 日产日韩在线亚洲欧美| 久久天天躁狠狠躁老女人| 欧美黑人xxxx| 91av在线视频观看| 欧美电影免费观看高清| 日韩一级裸体免费视频| 久久91精品国产91久久久| 亚洲奶大毛多的老太婆| 色婷婷成人综合| 亚洲人成欧美中文字幕| 亚洲成年人在线播放| 色www亚洲国产张柏芝| 日韩中文字幕在线视频| 国产精品va在线| 欧美猛少妇色xxxxx| 亚洲精品美女视频| 国产精品成人av性教育| 国语自产精品视频在线看| 国产精品亚发布| 日韩美女免费线视频| 色综合亚洲精品激情狠狠| 欧美日韩一二三四五区| 欧美精品在线观看91| 亚洲国产精品成人一区二区| 欧美中文字幕视频| 欧美日韩国产精品一区二区不卡中文| 国产午夜精品免费一区二区三区| 国产丝袜高跟一区| 成人a在线观看| 亚洲欧美色婷婷| 欧美激情视频一区| 欧洲亚洲在线视频| 成人在线视频福利| 亚洲欧美一区二区激情| 日本不卡高字幕在线2019| 精品欧美一区二区三区| 欧美精品久久久久久久久| 国产精品视频免费观看www| 国内免费精品永久在线视频| 97精品一区二区三区| 国产亚洲欧美aaaa| 国产精品久在线观看| 欧美日韩国产成人在线| 成人激情在线观看| 97成人精品视频在线观看| 亚洲精品国精品久久99热一| 永久555www成人免费| 国产精品久久久久久久av大片| 精品国产一区二区三区久久狼5月| 亚洲区免费影片| 国产午夜精品视频免费不卡69堂| 欧美日韩高清在线观看| 9.1国产丝袜在线观看| 久热精品视频在线| 日韩av网站大全| 中文字幕日韩欧美精品在线观看| 亚洲性视频网站| 日韩av三级在线观看| 国产91精品久久久久| 51ⅴ精品国产91久久久久久| 日韩精品在线观看一区| 欧美与黑人午夜性猛交久久久| 日韩天堂在线视频| xx视频.9999.com| 亚洲www在线| 国产亚洲精品一区二区| 久久久久久久久久久人体| 亚洲白拍色综合图区| 日韩在线观看网站| 亚洲天堂色网站| 精品久久久视频| 欧美疯狂性受xxxxx另类| 欧美午夜激情在线| 在线日韩中文字幕| 亚洲有声小说3d| 清纯唯美日韩制服另类| 不卡中文字幕av| 日韩中文字幕在线视频| 国产精品视频地址| 日本19禁啪啪免费观看www| 欧美制服第一页| 一区二区三区视频在线| 亚洲人成在线观看网站高清| 2021国产精品视频| 欧美电影《睫毛膏》| 久久婷婷国产麻豆91天堂| 久久久精品2019中文字幕神马| 日韩经典第一页| 日韩电影中文字幕| 国内精品视频一区| 国产精品美女免费看| 国产精品成熟老女人| 日韩精品视频在线观看网址| 欧美理论在线观看| 国产91精品黑色丝袜高跟鞋| 亚州成人av在线| 岛国av一区二区在线在线观看| 国产精品九九久久久久久久| 中文字幕日韩免费视频| 亚洲精品久久久久国产| 日韩精品在线观看一区| 精品福利在线看| 日韩在线观看成人| 91牛牛免费视频| 97在线视频免费| 亚洲精品电影网在线观看| 97成人在线视频| 亚洲人成网站777色婷婷| 久久精品电影一区二区| 欧美日本中文字幕| 国产精品久久久久久超碰| 黄色一区二区三区| 黑人狂躁日本妞一区二区三区| 亚洲日本aⅴ片在线观看香蕉| 日本一本a高清免费不卡| 日韩国产欧美精品一区二区三区| 精品久久久久久亚洲精品| 欧美性xxxx极品高清hd直播| 中文字幕日韩av综合精品| 青青草99啪国产免费| 色狠狠av一区二区三区香蕉蜜桃| 在线观看欧美日韩| 亚洲97在线观看| 日韩精品视频在线| 欧美黑人xxxⅹ高潮交| 久久久久久网址| 久久精品电影网站| 中文字幕亚洲一区在线观看| 日韩中文在线观看| 黑人精品xxx一区| 午夜精品久久久久久久白皮肤| 久久国产精彩视频| 国产精品一区二区三区成人| 九九热精品视频在线播放| 亚洲热线99精品视频| 国产精品v日韩精品| 久久免费成人精品视频| 国产亚洲视频在线观看| 国产主播喷水一区二区| 2019最新中文字幕| 久久中文字幕国产| 日韩风俗一区 二区| 欧美国产日韩精品| 欧美日韩免费在线| 国产精品高潮呻吟久久av无限| 少妇激情综合网| 色婷婷av一区二区三区在线观看| 欧美多人乱p欧美4p久久| 麻豆国产精品va在线观看不卡| 成人网欧美在线视频| 亚洲激情国产精品| 国产主播喷水一区二区| 欧美日韩xxxxx| 精品亚洲永久免费精品| 色综合色综合久久综合频道88| 岛国视频午夜一区免费在线观看| 成人a级免费视频| 日韩欧美高清视频| 欧美激情亚洲精品| 国内伊人久久久久久网站视频| 国产一区二区在线免费|