类似短连接和一些网站分享的链接,为了防止抓取会隐藏真实url,访问后会自动跳转到真实url。使用php如何抓取真实url呢?
function curl_get($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 是否抓取跳转后的页面 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 不从证书中检查SSL加密算法是否存在 $res = curl_exec($ch); $info = curl_getinfo($ch); $retURL = $info['url']; // 跳转后的 URL 信息 curl_close($ch); return $retURL; }
使用以上函数即可获取到真实的url