Heim > Backend-Entwicklung > PHP-Tutorial > 网页爬虫 - php curl 如何获取验证码session_id?

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

WBOY
Freigeben: 2016-06-06 20:27:12
Original
2606 Leute haben es durchsucht

今天在试着用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>
Nach dem Login kopieren

获取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>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage