> 백엔드 개발 > PHP 튜토리얼 > 网页爬虫 - php curl 如何获取验证码session_id?

网页爬虫 - php curl 如何获取验证码session_id?

WBOY
풀어 주다: 2016-06-06 20:27:12
원래의
2600명이 탐색했습니다.

今天在试着用curl登陆,验证码手动输入。

问题和 如何用curl模拟带有图片验证码的表单登录? 类似

而我的问题在于如何在拉取图片的时候拿到session或者设置?

(那个问题的第一个答案并不能正确运行)

求大神解答。

回复内容:

今天在试着用curl登陆,验证码手动输入。

问题和 如何用curl模拟带有图片验证码的表单登录? 类似

而我的问题在于如何在拉取图片的时候拿到session或者设置?

(那个问题的第一个答案并不能正确运行)

求大神解答。

<code>$cookie_file = dirname(__FILE__).'/cookies/'.$user.'cookie.txt';
// 初始化
$curl = curl_init('http://');
$header = array();
$header[] = 'User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36';
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
// 不输出header头信息
curl_setopt($curl, CURLOPT_HEADER, 0);
// 保存到字符串而不是输出
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_COOKIEJAR,  $cookie_file); //存储cookies
// post数据
curl_setopt($curl, CURLOPT_POST, 1);
// 请求数据
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
// 是否抓取跳转后的页面
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$response = curl_exec($curl);
curl_close($curl);</code>
로그인 후 복사

获取session

自己改下,不是通用的。别来说不行

<code>    //获取cookies值
    private function getCookies(){
        $curl = curl_init('http://113.57.132.2:83/login.aspx');
        // 不输出header头信息
        curl_setopt($curl, CURLOPT_HEADER, 1);
        curl_setopt($curl, CURLOPT_NOBODY, 1); 
        // 伪装浏览器
        curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');
        // 保存到字符串而不是输出
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $rs = curl_exec($curl);
        curl_close($curl);
        preg_match('%ASP.NET_SessionId=.*?;%sim',$rs,$arr);
        $cookies=str_replace('ASP.NET_SessionId=','',$arr[0]);
        $cookies=rtrim($cookies,';');
        return $cookies;
        //$this->$cookies=rtrim($cookies,';');
    }</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿