网站推广.NET

网站推广.NET

php怎么实现短网址还原

来源:互联网

php实现短网址还原的方法:

这里以http://www.bitsCN.com的短网址http://t.cn/heEHwk为例运行效果截图如下:

具体代码如下:

<?php$info1 = &#39;亲!暂不能解析此类短网址。&#39;;$info2 = &#39;亲!网址解析失败,请重试。&#39;;$info3 = &#39;立即访问>>&#39;;$info5 = &#39;亲!不是短网址或无效。&#39;;function unshort($url){global $info1,$info2,$info3,$info4; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); curl_setopt ($curl, CURLOPT_USERAGENT, &#39;Mozilla/8.0 (compatible; MSIE 8.0; Windows 7&#39;); curl_setopt($curl, CURLOPT_HEADER, 1); curl_setopt($curl, CURLOPT_NOBODY, 0); curl_setopt($curl, CURLOPT_TIMEOUT, 15); curl_setopt($curl,CURLOPT_ENCODING, &#39;gzip&#39;); $data = curl_exec($curl); if(!empty($data)){ $message = curl_getinfo($curl);  curl_close($curl);   $status = $message[&#39;http_code&#39;];   if ($status == &#39;301&#39; || $status == &#39;302&#39; ){    $UrlHeader = (get_headers($url,1));    $unurl = $UrlHeader[Location];    if(is_array($unurl)) {     $unurl = $unurl[0];     $unurl .=$info3.$unurl.$info4;     return $unurl;     }    else {    $unurl .=$info3.$unurl.$info4;    return $unurl;    }   }  return $info1; } return $info2;}function adfunshort($url){global $info3,$info4,$info5; $c = file_get_contents($url); $p = "/url = &#39;(.*)&#39;;/isU"; preg_match($p, $c, $content); $unurl = $content[1]; if($unurl == &#39;&#39;) {  return $info5; } else {  $unurl .=$info3.$unurl.$info4;  return $unurl; }}?>

短网址:

<?php$turl = $_POST[&#39;turl&#39;]?$_POST[&#39;turl&#39;]:"";$url_done= $_POST[&#39;url_done&#39;]?$_POST[&#39;url_done&#39;]:"";if ($url_done == &#39;done&#39;){$http = substr($turl,0,7); if ($http != &#39;http://&#39; && $http != &#39;https:/&#39;){  $turl = &#39;http://&#39;.$turl;  }  $tturl = substr($turl,0,11);  if ($tturl == &#39;http://adf.&#39;){  $longurl = adfunshort($turl);  }else {  $longurl = unshort($turl); }echo "短网址 ".$turl." 的真实网址为:$longurl ";}?>

立即学习“PHP免费学习笔记(深入)”;

短连接还原