当前位置:Gxlcms > PHP教程 > PHPcurl登录访问

PHPcurl登录访问

时间:2021-07-01 10:21:17 帮助过:40人阅读


如上代码并不完美,我们应该把cookie存到缓存中,不应该持久化,并且这样的持久化只能是单用户访问才行。

所以,其实我们只要设置

CURLOPT_COOKIESESSION

如下即可

= $curl_max_loops)     {         $curl_loops = 0;         return FALSE;     }     curl_setopt($ch, CURLOPT_HEADER, true); // 开启header才能够抓取到重定向到的新URL    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);     $data = curl_exec($ch);     // 分割返回的内容    $h_len = curl_getinfo($ch, CURLINFO_HEADER_SIZE);     $header = substr($data,0,$h_len);    $data = substr($data,$h_len - 1);    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);     if ($http_code == 301 || $http_code == 302) {         $matches = array();         preg_match('/Location:(.*?)\n/', $header, $matches);         $url = @parse_url(trim(array_pop($matches)));         // print_r($url);         if (!$url)         {             //couldn't process the url to redirect to             $curl_loops = 0;             return $data;         }         $last_url = parse_url(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL));         if (!isset($url['scheme']))             $url['scheme'] = $last_url['scheme'];         if (!isset($url['host']))             $url['host'] = $last_url['host'];         if (!isset($url['path']))             $url['path'] = $last_url['path'];        $new_url = $url['scheme'] . '://' . $url['host'] . $url['path'] . (isset($url['query'])?'?'.$url['query']:'');         curl_setopt($ch, CURLOPT_URL, $new_url);         return curl_redir_exec($ch);     } else {         $curl_loops=0;         return $data;     } } ?>

人气教程排行