用PHP SOCKET破解防盗链取得软件真正下载地址并下载到本地的方法

一些音乐网站,软件站等有盗链的时候没法下载甚至无法取得真正下载地址
在他本站得到下载链接是这样: http://www.letget.com/theme/download.asp?softid=1783&downid=2&id=1696
但复制网址在新浏览器里打开就会跳转,无法下载
遇到这种情况可以用以下代码试试:

getDownUrl.php

<?php
class cls_http_command{
    var $method,$Accept,$AcceptLanguage,$AcceptEncode;
    var $userAgent,$Referer,$Host,$Cookie,$Connect,$RangeStart,$RangeEnd;
    function cls_http_command() {
   //类同名构造函数
   //初始化变量
   $method="GET";   //请求方法
   $requestPage=""; //请求页
   $Accept="*/*";   //接受类型
   $AcceptLanguage="";//接受语言
   $AcceptEncode="";//接受编码
   $userAgent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"; //浏览器类型(客户协议)
   $Referer="";
   $Host="";
   $Cookie="";
   $Connect="";
   $RangeStart="";
   $RangeEnd="";
    }
}

function getfileheadbinhttp($filename,&$clsHttpCmd){
     eregi("^(http://)?([^/:]*):?([^/]*)?(.*)?",$filename,$fileparts);
$port=($fileparts[3]=="")?80:intval($fileparts[3]);
$strCommands="";
$retBin=NULL;
   if($fphttp=fsockopen($fileparts[2],$port,$errno,$errstr)){
   $strCommands.= "HEAD ".$fileparts[4]." HTTP/1.1\n";
   $strCommands.= "Host:".$fileparts[2]."\n";
   $strCommands.= "Accept:".$clsHttpCmd->Accept."\n";
   $strCommands.="User-Agent:".$clsHttpCmd->userAgent."\n";
   if($clsHttpCmd->AcceptLanguage!="")$strCommands.="Accept-Language:".$clsHttpCmd->AcceptLanguage."\n";
   $strCommands=$strCommands."Referer:".(($clsHttpCmd->Referer=="")?$fileparts[2]:$clsHttpCmd->Referer)."\n";
   $strCommands.="Connect:Keep-Alive\n";
   $strCommands.="\n";
        fputs($fphttp,$strCommands);
   $filesize=0;
   $crlf=chr(13).chr(10);
   $bodyEnd=chr(0).chr(0);
     while(($parts=fgets($fphttp))&&$parts!=$crlf&&(substr($parts,-2)!=$bodyEnd))$retBin.=$parts;
    fclose($fphttp);
    return $retBin;
   }
   }
$strCommand=new cls_http_command();
$strCommand->Method="GET";
$strCommand->Referer="http://www.letget.com/theme/softdown.asp?softid=1783";
$strCommand->AcceptEncode="gzip, deflate";
$strCommand->AcceptLanguage="zh-cn";
$fileurl="http://www.letget.com/theme/download.asp?softid=1783&downid=2&id=1696";
if(isset($_POST["url"])){
   $strHead=getfileheadbinhttp($_POST["url"],$strCommand);
   eregi("Location:([^\n]*)?.*",$strHead,$regs);
   echo "请通过以下链接下载资源:<a href='http://www.137t.com/php/Down.php?url=".str_replace(" ","",$regs[1])."' target='_balnk'>$regs[1]</a>";
   }else{
   $strHead=getfileheadbinhttp($fileurl,$strCommand);
   eregi("Location:([^\n]*)?.*",$strHead,$regs);
    }

?>
<form id="" name="" method="POST" action="">
<label>请在右边输入原始URL
<input type="text" name="url" size="80" />
</label>
<label>
<input type="submit" name="Submit" value="查询" />
</label>
<? if(!isset($_POST["url"])){?>
<BR>
以下红色部分是示例:
请通过以下链接下载资源:<?echo "<a href=http://www.137t.com/php/Down.php?url=".str_replace(" ","",$regs[1])." target=_balnk>http://www.137t.com/php/Down.php?url=$regs[1]</a>";?>;
   <BR><font color=red><?echo $fileurl?></font><br>
   <?}?>
</form>

down.php

<?php
function formatSize($size,$acuteDeg=3){
if($size>1073741824){
   return strval(number_format($size/1073741824,$acuteDeg,".",""))."GB";
   }elseif($size>1048576){
    return strval(number_format($size/1048576,$acuteDeg,".",""))."MB";
    }elseif($size>1024){
    return strval(number_format($size/1024,$acuteDeg,".",""))."KB";
    }else{
      return strval($size)."Bytes";
     }
    }
class cls_http_command{
    var $method,$Accept,$AcceptLanguage,$AcceptEncode;
    var $userAgent,$Referer,$Host,$Cookie,$Connect,$RangeStart,$RangeEnd;
    function cls_http_command() {
   //类同名构造函数
   //初始化变量
   $method="GET";   //请求方法
   $requestPage=""; //请求页
   $Accept="*/*";   //接受类型
   $AcceptLanguage="";//接受语言
   $AcceptEncode="";//接受编码
   $userAgent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"; //浏览器类型(客户协议)
   $Referer="";
   $Host="";
   $Cookie="";
   $Connect="";
   $RangeStart="";
   $RangeEnd="";
    }
}
function getfileheadbinhttp($filename,&$clsHttpCmd){
     eregi("^(http://)?([^/:]*):?([^/]*)?(.*)?",$filename,$fileparts);
$port=($fileparts[3]=="")?80:intval($fileparts[3]);
$strCommands="";
$retBin=NULL;
   if($fphttp=fsockopen($fileparts[2],$port,$errno,$errstr)){
   $strCommands.= "HEAD ".$fileparts[4]." HTTP/1.1\n";
   $strCommands.= "Host:".$fileparts[2]."\n";
   $strCommands.= "Accept:".$clsHttpCmd->Accept."\n";
   $strCommands.="User-Agent:".$clsHttpCmd->userAgent."\n";
   if($clsHttpCmd->AcceptLanguage!="")$strCommands.="Accept-Language:".$clsHttpCmd->AcceptLanguage."\n";
   $strCommands=$strCommands."Referer:".(($clsHttpCmd->Referer=="")?$fileparts[2]:$clsHttpCmd->Referer)."\n";
   $strCommands.="Connect:Keep-Alive\n";
   $strCommands.="\n";
        fputs($fphttp,$strCommands);
   $filesize=0;
   $crlf=chr(13).chr(10);
   $bodyEnd=chr(0).chr(0);
     while(($parts=fgets($fphttp))&&$parts!=$crlf&&(substr($parts,-2)!=$bodyEnd))$retBin.=$parts;
    fclose($fphttp);
    return $retBin;
   }
   }
$strCommand=new cls_http_command();
$strCommand->Method="GET";
$strCommand->Referer="http://www.letget.com/theme/download.asp?softid=1783&downid=2&id=1696";
$strCommand->AcceptEncode="gzip, deflate";
$strCommand->AcceptLanguage="zh-cn";
$fileurl="http://down.letget.com/2007/06/OpusOS.rar";
echo $url;
if(isset($_GET["url"])){
   $strHead=getfileheadbinhttp($_GET["url"],$strCommand);
   eregi("Content-Length:([^\n]*)?.*",$strHead,$regs);
   $filesize=intval($regs[1]);
   echo "本破防盗链技术由<B>动网PHP</b>提供,请联系:<B>fjjhhww@163.com</b>或QQ:<B>8473803</b>获得更多技术支持<BR>注意:本网址只做为演示用,不用于真正下载<BR>你将要下载的资源地址:".$_GET["url"]."  :  资源大小: ".formatSize($filesize,2);
   } else{
    $strHead=getfileheadbinhttp($fileurl,$strCommand);
      eregi("Content-Length:([^\n]*)?.*",$strHead,$regs);
      $filesize=intval($regs[1]);
      echo("参数错误,请传入正确的url<BR>以下示例下载资源大小".$fileurl."  :  ".formatSize($filesize,2));
    }

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值