锻链接还原 短网址还原

<?php
namespace huanyuan;
use think\Controller;

class Huanyuan
{
  
  
      public  function unshort($url)
        {
            global $info;
            
            $UrlHeader = (get_headers($url,1));	   
            $UnurlHeader1 = $UrlHeader[Location];
            $UnurlHeader2 = $UrlHeader[location];
            if (!empty($UnurlHeader1)){
            $unurl = $UnurlHeader1;
            }
            else {
            $unurl = $UnurlHeader2;
            }
            if ($unurl==''){
               echo $info[6];
                }
            else {
               if(is_array($unurl)) {
                 $count_url = count($unurl);
                 if ($count_url>10) {          //一次性还原的至多跳转数
                   $count_url = 10;            //防止死循环
                   }	
                 for ($i=0;$i<$count_url;$i++){
                   echo $info[3].$unurl[$i].$info[4].$unurl[$i].$info[5];
                   }	
                 }
               else {				  
                 //$unurl = $info[7].$unurl.$info[4].$unurl.$info[5];		
                 $unurl = $info[7].$unurl;
                return  $unurl;			   
                }
               }	    
        }

    public    function adfunshort($url)
        {
          global $info;
          $c = file_get_contents($url);
          list($version,$status_code,$msg) = explode(' ',$http_response_header[0], 3);
          if ($status_code == '302') {
          $unurl = $this->unshort($url);
          }
          else{
          $p = "/url = '(.*)';/isU";
          preg_match($p, $c, $content);
          $unurl = 'http://adf.ly'.$content[1];  
          $html = file_get_contents($unurl);  
          list($version,$status_code,$msg) = explode(' ',$http_response_header[0], 3);
            if ($status_code == '200') {
             $d = file_get_contents($unurl);
             $f = "/0; URL=(.*)\">/isU";
             preg_match($f, $d, $content2);
             $unurl = $content2[1];
              if ($unurl==''){
                echo $info[6];
              }
              else{
              //$unurl = $info[7].$unurl.$info[4].$unurl.$info[5];
                $unurl = $info[7].$unurl;
                return $unurl;  
              }
            }  
            else {
             $unurl = $this->unshort($unurl);
            }
          }
        }
  
  
 
     //原处理
    public function  predeal($turl,$url_done='done'){
       $turl = trim($turl);
    //  var_dump($turl);exit;
    //  $url_done= $_POST['url_done'];
      global $info; 	 
      if ($url_done == 'done'){
        $http = substr($turl,0,7);
         if ($http != 'http://' && $http != 'https:/'){
           $turl = 'http://'.$turl;
               }
         $tturl = substr($turl,0,11);
         if ($tturl == 'http://adf.'){
          //  echo $info[2];
            $longurl = $this->adfunshort($turl);
            }
         else {
         
          //  echo $info[2];
            $longurl = $this->unshort($turl); 
            }
         } 
         return  $longurl;
    }











}

 

                //还原
                  Loader::import('huanyuan\Huanyuan',EXTEND_PATH);
                  $hong=new \huanyuan\Huanyuan();  
                  $url="*****************";
                  $huan_url=$hong->predeal($url);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值