|
楼下也有一个所谓56站程序的,忽悠到了极致,不喜欢被人忽悠的,还是自己做个站吧! 我给大家个采集接口,你爱自己采集可以用自己的FLASH播放器直接播放56.com的flv吧!不用帮人家做免费广告那么傻了! <div class="codetitle"><a style="CURSOR: pointer" data="14822" class="copybut" id="copybut14822" onclick="doCopy('code14822')"> 代码如下:<div class="codebody" id="code14822"> <?php $url="http://www.56.com/u75/v_MTkwMTIwMjQ.html"; $html=@file_get_contents($url); preg_match_all("/var_oFlv_o='([S|s]+)'/isU",$html,$matches); $o=decode56($matches[1][0]); include_once"json.php";//当php没有配置支持json的时候有用 $o=str_replace("'",'"',$o); $o=json_decode($o); //printr($o); $swf="http://www.56.com/n".str_replace(":88","",str_replace(".56.com",$o->imghost)). "/".str_replace(".56.com",$o->URLhost). "/".$o->URLpURL. "/".$o->URLsURL. "/".$o->userid. "/".$o->URLURLid. "/".$o->totaltime. "/".$o->effectID. "/".$o->id.".swf"; $flv="http://hot-chinacache.56.com/flvdownload/".$o->URL_pURL. "/".$o->URL_sURL. "/".$o->user_id. "@56.com56flv".$o->URL_URLid.".flv"; echo"FLASH文件路径:".$swf; echo" "; echo"FLV文件路径:".$flv; $de=0; functiondecode56($str){ global$de; $c1=""; $c2=""; $c3=""; $c4=""; $c5=array(-1,-1,62,63,52,53,54,55,56,57,58,59,60,61,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1); $c6=charCodeAt($str,0); $c7=""; $i=""; $len=""; $out=""; if(!$de){ $de=1; $c7=decode56($str); $str=substr($c7,$c6); } $len=strlen($str); $i=1; $out=""; while($i<$len){ do{ $c1=$c5[charCodeAt($str,$i++)&0xff]; } while($i<$len&&$c1==-1); if($c1==-1)break; do{ $c2=$c5[charCodeAt($str,$i++)&0xff]; } while($i<$len&&$c2==-1); if($c2==-1)break; $out.=chr(($c1<<2)|(($c2&0x30)>>4)); do{ $c3=charCodeAt($str,$i++)&0xff; if($c3==61)return$out; $c3=$c5[$c3]; } while($i<$len&&$c3==-1); if($c3==-1)break; $out.=chr((($c2&0XF)<<4)|(($c3&0x3C)>>2)); do{ $c4=charCodeAt($str,$i++)&0xff; if($c4==61)return$out; $c4=$c5[$c4]; } while($i<$len&&$c4==-1); if($c4==-1)break; $out.=chr((($c3&0x03)<<6)|$c4); } return$out; } functioncharCodeAt($str,$i){ returnord(substr($str,$i,1)); } //该程序仅为技术交流,交流可加QQ群:1714987 ?>
json.php <div class="codetitle"><a style="CURSOR: pointer" data="6536" class="copybut" id="copybut6536" onclick="doCopy('code6536')"> 代码如下:<div class="codebody" id="code6536"> <?php define('HTML_AJAX_JSON_SLICE',1); define('HTML_AJAX_JSON_IN_STR',2); define('HTML_AJAX_JSON_IN_ARR',4); define('HTML_AJAX_JSON_IN_OBJ',8); define('HTML_AJAX_JSON_IN_CMT',16); define('HTML_AJAX_JSON_LOOSE_TYPE',10); define('HTML_AJAX_JSON_STRICT_TYPE',11); classHTML_AJAX_JSON { functionHTML_AJAX_JSON($use=HTML_AJAX_JSON_STRICT_TYPE) { $this->use=$use; } functionencode($var) { switch(gettype($var)){ case'boolean': return$var?'true':'false'; case'NULL': return'null'; case'integer': returnsprintf('%d',$var); case'double': case'float': returnsprintf('%f',$var); case'string'://STRINGSAREEXPECTEDTOBEINASCIIORUTF-8FORMAT $ascii=''; $strlen_var=strlen($var); for($c=0;$c<$strlen_var;$c++){ $ord_var_c=ord($var{$c}); if($ord_var_c==0x08){ $ascii.='b'; }elseif($ord_var_c==0x09){ $ascii.='t'; }elseif($ord_var_c==0x0A){ $ascii.='n'; }elseif($ord_var_c==0x0C){ $ascii.='f'; }elseif($ord_var_c==0x0D){ $ascii.='r'; }elseif(($ord_var_c==0x22)||($ord_var_c==0x2F)||($ord_var_c==0x5C)){ $ascii.=''.$var{$c};//doublequote,slash,slosh }elseif(($ord_var_c>=0x20)&&($ord_var_c<=0x7F)){ //charactersU-00000000-U-0000007F(sameasASCII) $ascii.=$var{$c};//mostnormalASCIIchars }elseif(($ord_var_c&0xE0)==0xC0){ //charactersU-00000080-U-000007FF,mask110XXXXX,seehttp://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 $char=pack('C',$ord_var_c,ord($var{$c+1}));$c+=1; $ascii.=sprintf('u%04s',bin2hex(mb_convert_encoding($char,'UTF-16','UTF-8'))); }elseif(($ord_var_c&0xF0)==0xE0){ //charactersU-00000800-U-0000FFFF,mask1110XXXX,ord($var{$c+1}),ord($var{$c+2}));$c+=2; $ascii.=sprintf('u%04s','UTF-8'))); }elseif(($ord_var_c&0xF8)==0xF0){ //charactersU-00010000-U-001FFFFF,mask11110XXX,ord($var{$c+2}),ord($var{$c+3}));$c+=3; $ascii.=sprintf('u%04s','UTF-8'))); }elseif(($ord_var_c&0xFC)==0xF8){ //charactersU-00200000-U-03FFFFFF,mask111110XX,ord($var{$c+3}),ord($var{$c+4}));$c+=4; $ascii.=sprintf('u%04s','UTF-8'))); }elseif(($ord_var_c&0xFE)==0xFC){ //charactersU-04000000-U-7FFFFFFF,mask1111110X,ord($var{$c+4}),ord($var{$c+5}));$c+=5; $ascii.=sprintf('u%04s','UTF-8'))); } } returnsprintf('"%s"',$ascii); case'array': if(is_array($var)&&(array_keys($var)!==range(0,sizeof($var)-1))) returnsprintf('{%s}',join(',',array_map(array($this,'name_value'),array_keys($var),array_values($var)))); returnsprintf('[%s]','encode'),$var))); case'object': $vars=get_object_vars($var); returnsprintf('{%s}',array_keys($vars),array_values($vars)))); default: return''; } } functionname_value($name,$value) { return(sprintf("%s:%s",$this->encode(strval($name)),$this->encode($value))); } functionreduce_string($str) { $str=preg_replace('#^s//(.+)$#m','',$str);//eliminatesinglelinecommentsin'//...'form $str=preg_replace('#^s/*(.+)*/#Us',$str);//eliminatemulti-linecommentsin'/.../'form,atstartofstring $str=preg_replace('#/*(.+)*/s$#Us',atendofstring $str=trim($str);//eliminateextraneousspace return$str; } functiondecode($str) { $str=$this->reduce_string($str); switch(strtolower($str)){ case'true': returntrue; case'false': returnfalse; case'null': returnnull; default: if(is_numeric($str)){ return((float)$str==(integer)$str) ?(integer)$str :(float)$str; }elseif(preg_match('/^".+"$/s',$str)||preg_match('/^'.+'$/s',$str)){ $delim=substr($str,1); $chrs=substr($str,-1); $utf8=''; $strlen_chrs=strlen($chrs); for($c=0;$c<$strlen_chrs;$c++){ $substr_chrs_c_2=substr($chrs,$c,2); $ord_chrs_c=ord($chrs{$c}); if($substr_chrs_c_2=='b'){ $utf8.=chr(0x08);$c+=1; }elseif($substr_chrs_c_2=='t'){ $utf8.=chr(0x09);$c+=1; }elseif($substr_chrs_c_2=='n'){ $utf8.=chr(0x0A);$c+=1; }elseif($substr_chrs_c_2=='f'){ $utf8.=chr(0x0C);$c+=1; }elseif($substr_chrs_c_2=='r'){ $utf8.=chr(0x0D);$c+=1; }elseif(($delim=='"')&&(($substr_chrs_c_2=='"')||($substr_chrs_c_2=='')||($substr_chrs_c_2=='/'))){ $utf8.=$chrs{++$c}; }elseif(($delim=="'")&&(($substr_chrs_c_2==''')||($substr_chrs_c_2=='')||($substr_chrs_c_2=='/'))){ $utf8.=$chrs{++$c}; }elseif(preg_match('/u[0-9A-F]{4}/i',substr($chrs,6))){//single,escapedunicodecharacter $utf16=chr(hexdec(substr($chrs,($c+2),2))).chr(hexdec(substr($chrs,($c+4),2))); $utf8.=mb_convert_encoding($utf16,'UTF-8','UTF-16'); $c+=5; }elseif(($ord_chrs_c>=0x20)&&($ord_chrs_c<=0x7F)){ $utf8.=$chrs{$c}; }elseif(($ord_chrs_c&0xE0)==0xC0){ $utf8.=substr($chrs,2);$c+=1; }elseif(($ord_chrs_c&0xF0)==0xE0){ $utf8.=substr($chrs,3);$c+=2; }elseif(($ord_chrs_c&0xF8)==0xF0){ $utf8.=substr($chrs,4);$c+=3; }elseif(($ord_chrs_c&0xFC)==0xF8){ $utf8.=substr($chrs,5);$c+=4; }elseif(($ord_chrs_c&0xFE)==0xFC){ $utf8.=substr($chrs,6);$c+=5; } } return$utf8; }elseif(preg_match('/^[.]$/s',$str)||preg_match('/^{.}$/s',$str)){ if($str{0}=='['){ $stk=array(HTML_AJAX_JSON_IN_ARR); $arr=array(); }else{ if($this->use==HTML_AJAX_JSON_LOOSE_TYPE){ $stk=array(HTML_AJAX_JSON_IN_OBJ); $obj=array(); }else{ $stk=array(HTML_AJAX_JSON_IN_OBJ); $obj=newstdClass(); } } array_push($stk,array('what'=>HTML_AJAX_JSON_SLICE,'where'=>0,'delim'=>false)); $chrs=substr($str,-1); $chrs=$this->reduce_string($chrs); if($chrs==''){ if(reset($stk)==HTML_AJAX_JSON_IN_ARR){ return$arr; }else{ return$obj; } } $strlen_chrs=strlen($chrs); for($c=0;$c<=$strlen_chrs;$c++){ $top=end($stk); $substr_chrs_c_2=substr($chrs,2); if(($c==$strlen_chrs)||(($chrs{$c}==',')&&($top['what']==HTML_AJAX_JSON_SLICE))){ $slice=substr($chrs,$top['where'],($c-$top['where'])); array_push($stk,'where'=>($c+1),'delim'=>false)); if(reset($stk)==HTML_AJAX_JSON_IN_ARR){//weareinanarray,sojustpushanelementontothestack array_push($arr,$this->decode($slice)); }elseif(reset($stk)==HTML_AJAX_JSON_IN_OBJ){//weareinanobject,sofigureoutthepropertynameandsetanelementinanassociativearray,fornow if(preg_match('/^s(["'].[^]["'])s:s(S.),?$/Uis',$slice,$parts)){//"name":valuepair $key=$this->decode($parts[1]); $val=$this->decode($parts[2]); if($this->use==HTML_AJAX_JSON_LOOSE_TYPE){ $obj[$key]=$val; }else{ $obj->$key=$val; } }elseif(preg_match('/^s(w+)s:s(S.),$parts)){//name:valuepair,wherenameisunquoted $key=$parts[1]; $val=$this->decode($parts[2]); if($this->use==HTML_AJAX_JSON_LOOSE_TYPE){ $obj[$key]=$val; }else{ $obj->$key=$val; } } } }elseif((($chrs{$c}=='"')||($chrs{$c}=="'"))&&($top['what']!=HTML_AJAX_JSON_IN_STR)){//foundaquote,andwearenotinsideastring array_push($stk,array('what'=>HTML_AJAX_JSON_IN_STR,'where'=>$c,'delim'=>$chrs{$c})); //print("Foundstartofstringat{$c}n"); }elseif(($chrs{$c}==$top['delim'])&&($top['what']==HTML_AJAX_JSON_IN_STR)&&(($chrs{$c-1}!="")||($chrs{$c-1}==""&&$chrs{$c-2}==""))){//foundaquote,we'reinastring,andit'snotescaped array_pop($stk); //print("Foundendofstringat{$c}:".substr($chrs,(1+1+$c-$top['where']))."n"); }elseif(($chrs{$c}=='[')&&in_array($top['what'],array(HTML_AJAX_JSON_SLICE,HTML_AJAX_JSON_IN_ARR,HTML_AJAX_JSON_IN_OBJ))){//foundaleft-bracket,andweareinanarray,object,orslice array_push($stk,array('what'=>HTML_AJAX_JSON_IN_ARR,'delim'=>false)); //print("Foundstartofarrayat{$c}n"); }elseif(($chrs{$c}==']')&&($top['what']==HTML_AJAX_JSON_IN_ARR)){//foundaright-bracket,andwe'reinanarray array_pop($stk); //print("Foundendofarrayat{$c}:".substr($chrs,(1+$c-$top['where']))."n"); }elseif(($chrs{$c}=='{')&&in_array($top['what'],HTML_AJAX_JSON_IN_OBJ))){//foundaleft-brace,array('what'=>HTML_AJAX_JSON_IN_OBJ,'delim'=>false)); //print("Foundstartofobjectat{$c}n"); }elseif(($chrs{$c}=='}')&&($top['what']==HTML_AJAX_JSON_IN_OBJ)){//foundaright-brace,andwe'reinanobject array_pop($stk); //print("Foundendofobjectat{$c}:".substr($chrs,(1+$c-$top['where']))."n"); }elseif(($substr_chrs_c_2=='/')&&in_array($top['what'],HTML_AJAX_JSON_IN_OBJ))){//foundacommentstart,array('what'=>HTML_AJAX_JSON_IN_CMT,'delim'=>false)); $c++; //print("Foundstartofcommentat{$c}n"); }elseif(($substr_chrs_c_2=='*/')&&($top['what']==HTML_AJAX_JSON_IN_CMT)){//foundacommentend,andwe'reinonenow array_pop($stk); $c++; for($i=$top['where'];$i<=$c;$i++) $chrs=substr_replace($chrs,1); //print("Foundendofcommentat{$c}:".substr($chrs,(1+$c-$top['where']))."n"); } } if(reset($stk)==HTML_AJAX_JSON_IN_ARR){ return$arr; }elseif(reset($stk)==HTML_AJAX_JSON_IN_OBJ){ return$obj; } } } } } if(!function_exists("json_encode")||!function_exists("json_decode")){ include_once"json.php"; functionjson_encode($data){ $json=newHTML_AJAX_JSON(); return$json->encode($data); } functionjson_decode($data){ $json=newHTML_AJAX_JSON(); return$json->decode($data); } } ?>
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|