如何使用curl登录?我收到此错误:“对象已移至此处”

时间:2019-06-20 02:07:33

标签: php curl

登录该网站https://employer.bestjobs.ph/login/时出现问题 我拥有所有登录凭据,并且还获得了验证令牌,并将cookie成功保存到txt文件中并进行了存储。这是我的下面的代码。

    $curl       = curl_init();
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_URL, 'https://employer.bestjobs.ph');
    $out = curl_exec($curl);

    preg_match_all('/_RequestVerificationToken(.*?)\/>/',$out, $data);
    $data1 = $data[1];


    foreach($data1 as $row){
        if(preg_match_all('/value="(.*?)"/',$row,$tokens)){
           $token =  $tokens[1];
           $token = $token[0];
           $bodytag = str_replace('value="', "",$token);
           $tokenz = str_replace('"', "",$bodytag);
        }
    }
    //  print_r($token); }



    define('USER_AGENT', 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2309.372 Safari/537.36');
    define('COOKIE_FILE', 'D:\wamp\www\sbsearch\cookies.txt');
    define('LOGIN_FORM_URL', 'https://employer.bestjobs.ph/login.aspx?');
    define('LOGIN_ACTION_URL', 'https://employer.bestjobs.ph/login.aspx?');

    $postValues = array('_RequestVerificationToken'=>$tokenz,'UserName'=>'myemail','Password'=>'mypassword','KeepMeLoggedIn'=>'false');                                                                                                                                  

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, LOGIN_ACTION_URL);                                                                                                                                    
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postValues));
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 1);
    curl_setopt($curl, CURLOPT_COOKIEJAR, COOKIE_FILE);
    curl_setopt($curl, CURLOPT_USERAGENT, USER_AGENT);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);   
    curl_setopt($curl, CURLOPT_REFERER, LOGIN_FORM_URL);

    curl_exec($curl);
    if(curl_errno($curl)){
       throw new Exception(curl_error($curl));
    }

    //protected page

    curl_setopt($curl, CURLOPT_URL,'https://employer.bestjobs.ph/Company');
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt($curl, CURLOPT_COOKIEJAR, COOKIE_FILE);
    curl_setopt($curl, CURLOPT_USERAGENT, USER_AGENT);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 1);

    $output =  curl_exec($curl);
    curl_close($curl);

    echo $output;

0 个答案:

没有答案