>백엔드 개발 >PHP 튜토리얼 >PHP模拟赶集登陆,需要验证码问题

PHP模拟赶集登陆,需要验证码问题

WBOY
WBOY원래의
2016-06-23 13:24:11888검색

用php 模拟赶集发布房源时 ,模拟登陆后,一会时间就不能登陆了,需要验证码 , 看怎么能处理下,请教下有经验的朋友 ,谢谢 !
 

           $url = "https://passport.ganji.com/login.php";        $data ="login_username=wangsheng6666666666&login_password=".trim(decode('bGlqaWF3YW5nc2hlbmcyMDEz'));       //  $imageurl= 'https://passport.ganji.com/ajax.php?dir=captcha&module=login_captcha&nocache=1445313015271';         $redata= $publish->vlogin($url,$data,$url,true);              function vlogin($url,$data,$REFERER =null,$ishttps=true){ //        $curl = curl_init(); // 启动一个CURL会话        curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址        curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器        if(empty($REFERER))        {            curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer        }else{            curl_setopt($curl, CURLOPT_REFERER, $REFERER);// 设置Referer        }        if($ishttps)        {            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在        }        curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求        curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包       // curl_setopt($curl, CURLOPT_COOKIEFILE, $this->cookie_file); // 读取上面所储存的Cookie信息       // curl_setopt($curl, CURLOPT_COOKIEJAR, $this->cookie_file); // 存放Cookie信息的文件名称        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回        curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环        curl_setopt($curl, CURLOPT_HEADER, 1);        $tmpInfo = curl_exec($curl); // 执行操作        if (curl_errno($curl)) {            echo 'Errno'.curl_error($curl);        }       // preg_match_all('/Set-Cookie:stest=(.*)/i', $tmpInfo, $tmpInfo);        curl_close($curl); // 关闭CURL会话        return $tmpInfo; // 返回数据    }

请大家帮忙看看 谢谢


回复讨论(解决方案)

你发布房源 太频繁了吧。?

验证码 你能搞定??  估计大神来了一样搞不定

验证码  弹出识别 输入 是一项大工程
估计难道属于A++  识别率一般都很差

验 证吗,只有把它输出来 让人工输入,显人工输入,找个打码平台对接

验证码没有办法自动识别,即使能识别,也是很简单的那种,我最后,采用直接输入的方式,处理了 谢谢,各位了
php  curl   获取验证码时 ,需要获取cookie,这样,提交验证时,采用同样的cookie ,就可以了

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.