帝国论坛帝国网站管理系统交流区采集使用交流教大家个方法,采集防盗链的站的图片 【本版专题贴子】  
 3/6    |‹ ‹‹ 1 2 3 4 5 6 ›› ›|
主题:教大家个方法,采集防盗链的站的图片 [加入收藏夹]   

hooper
用户头衔:书生

精华贴   :0
发贴数   :45
经验值   :131
注册时间:2010-04-06
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 21 楼]

楼主强悍哈  



武汉人流多少钱 www.pj-pk.com
武汉医院排名 www.027dianping.com
2012-04-07 16:58:55 已设置保密 顶部 回复 引用 报告 编辑 删除

s327316981
用户头衔:书生

精华贴   :0
发贴数   :104
经验值   :234
注册时间:2012-03-23
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 22 楼]

强大的方法



杭州商务包车
工业除湿机
标牌制作杭州VI设计杭州注册公司
2012-04-10 15:50:24 已设置保密 顶部 回复 引用 报告 编辑 删除

paualjava
用户头衔:书生

精华贴   :0
发贴数   :6
经验值   :48
注册时间:2012-03-30
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 23 楼]

强烈支持!



www.360buycom360.com
www.tuanjiayou.com
2012-04-10 20:24:47 已设置保密 顶部 回复 引用 报告 编辑 删除

gzghjx99
用户头衔:书生

精华贴   :0
发贴数   :8
经验值   :25
注册时间:2011-12-19
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 24 楼]

原来是这样子的啊,学习了,谢谢楼主。



www.gzbawei.com www.oemchang.com化妆品OEM代加工
www.bwchang.com www.oemjiagong.com化妆品生产厂家
2012-04-11 09:18:11 已设置保密 顶部 回复 引用 报告 编辑 删除

yczwhu
用户头衔:书生

精华贴   :0
发贴数   :63
经验值   :150
注册时间:2012-04-11
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 25 楼]

这个真的很不错啊



阳澄湖大闸蟹,www.zijiangxie.cn,www.xieyuanwai.cn,www.zijiangxie.com.cn,www.xieyuanwai.com.cn,www.zijiangxie.com,www.xieyuanwai.com
2012-04-13 14:02:35 已设置保密 顶部 回复 引用 报告 编辑 删除

by_313_a
用户头衔:秀才

精华贴   :0
发贴数   :8
经验值   :511
注册时间:2012-02-17
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 26 楼]

好东西要顶哦
下面代码测试过可用
<?php
@set_time_limit(60);
$allowgz = true;
$action = $_GET['action'] ? $_GET['action'] : $_POST['action'];
$self = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1,strlen($_SERVER['PHP_SELF']));

$refer = $_SERVER['HTTP_REFERER'];
$rarray = parse_url($refer);
$rhost = strtolower($rarray['host']);
$lhost = strtolower($_SERVER['HTTP_HOST']);

$url = $_POST['url'] ? $_POST['url'] : $_GET['url'];
$url = $url ? $url : ($_SERVER['QUERY_STRING'] ? $_SERVER['QUERY_STRING'] : NULL);
$url = trim($url);
if (!$url) exit;
$url_d = urldecode($url);

$arrUrl = @parse_url($url_d);
if ($arrUrl['scheme'] != 'http' || $arrUrl['host'] == $lhost){
        header("Location: $url");
        exit;
}

$ext = strtolower(substr($url,strrpos($url,'.')+1));
if (!strstr(',jpg,bmp,gif,png,',','.$ext.',')) {
        header("Location: $url");
        exit;
}

$url = urldecode($url);

$ret = fetchImg($url);
if ($ret['success']){
        echo $ret['content'];
        flush();
} else {
        header($url);
}
exit;

function unTomChunked($content){
        $pos = strpos($content,"\x0d\x0a");
        if($pos > 0 && $pos < 20){
                $content = substr($content,$pos+2);
        }
        $content = preg_replace("/\x0d\x0a[0-9a-z]+?\x0d\x0a/is",'',$content);
        if(substr($content,-2) == "\r\n") $content = substr($content,0,strlen($content)-2);
        $content = str_replace("\r\n2000\r\n",'',$content);
        return $content;
}

function unGzip($content){
        $singal = "\x1F\x8B\x08";
        $slen = strlen($singal);
        if(substr($content,0,$slen) == $singal){
                $content = substr($content,10);
                $content = gzinflate($content);
        }
        return $content;
}

function unChunked($content){
        $pos = strpos($content,"\x0d\x0a");
        if($pos > 0 && $pos < 20){
                $content = substr($content,$pos+2);
        }
        $content = preg_replace("/\x0d\x0a[0-9a-f]+?\x0d\x0a/is",'',$content);
        if(substr($content,-2) == "\r\n") $content = substr($content,0,strlen($content)-2);
        $content = str_replace("\r\n2000\r\n",'',$content);
        return $content;
}

function fetchImg($url,$nesting=false,$skipextchk=false){
        global $allowgz,$allowexts,$timeout;
        $allowexts = $allowexts ? ','.$allowexts.',' : ',jpg,bmp,gif,png,';
        $timeout = intval($timeout);
        $timeout = $timeout ? $timeout : 7;
        @$arrUrl = parse_url($url);
        $disallowedext = false;
        $status = false;
        $ext = strtolower(substr($url,strrpos($url,'.')+1));
        if ($skipextchk){
                $ext = 'jpg';
        }
        if (!strstr($allowexts,','.$ext.',')) {
                $disallowedext = true;
        }
        if(!$disallowedext && $arrUrl['scheme'] == 'http') {
                if(strstr(strtolower($arrUrl['host']),'.163.com') || strstr(strtolower($arrUrl['host']),'.piclib.net')){
                        $strRef = '';
                }else{
                        $strRef = 'http://'.$arrUrl['host'].'/';
                }
                $arrUrl['uri']  = ($arrUrl['path'] ? $arrUrl['path']:'') . ($arrUrl['query'] ? '?'.$arrUrl['query']:'') . ($arrUrl['fragment'] ? '#'.$arrUrl['fragment']:'');
                $arrUrl['port'] = $arrUrl['port'] ? $arrUrl['port'] : '80';
                $strRequest  = "GET ".$arrUrl['uri']." HTTP/1.0\r\n";
                $strRequest .= "Host: ".$arrUrl['host']."\r\n";
                $strRequest .= "Accept: */*\r\n";
                if ($allowgz){
                        $strRequest .= "Accept-Encoding: gzip, deflate\r\n";
                }
                if($strRef!='') {      
                        $strRequest .= "Referer:$strRef\r\n";
                }
                $strRequest .= "User-Agent: Mozilla/4.0 (compatible; MSIE 4.00; Windows 2000)\r\n";
                $strRequest .= "Pragma: no-cache\r\n";
                $strRequest .= "Cache-Control: no-cache\r\n";
                $strRequest .= "Connection: close\r\n\r\n";

                @$fp = fsockopen($arrUrl['host'],$arrUrl['port'],$intError, $strError, $timeout);
                if (!$fp){
                        return false;
                }
                @fwrite($fp,$strRequest);

                $bolHeader = true;
                $removed = false;
                while($block = fgets($fp,1024)){
                        if($bolHeader){
                                if($block=="\r\n"){
                                        $bolHeader = false;
                                }
                                $headers .= $block;
                                if (!$removed && preg_match("/HTTP\/1\.\d?\s+?302\s+?.*?/is",$block)){
                                        $removed = true;
                                }
                        } else {
                                break;
                        }
                }
                $content = $block;
                if (!$removed){
                        while ($block = fread($fp,10240)) {
                                $content .= $block;
                        }
                }
                fclose($fp);
                $status = true;
        }
        if((strstr($arrUrl['host'],'.tom.com') || strstr($arrUrl['host'],'.52vcd.com')) && !empty($content)){
                unTomChunked($content);
                $unced = true;
        }
        $header_t = strtolower($headers);
        if((strstr($header_t,' chunked') || strstr($header_t,':chunked')) && !$unced){
                $content = unChunked($content);
        }
        if(strstr($header_t,' gzip') || strstr($header_t,':gzip') || substr($content,0,3) == "\x1f\x8b\x08"){
                $content = unGzip($content);
        }
        if (!$nesting && $removed){
                if(preg_match("/Location:\s+?(.*?)(?=\r|\n|\s)/is",$headers,$match)){
                        $url = $match[1];
                        return fetchImg($url,true,$skipextchk);
                } else {
                        return false;
                }
        }
        if ($nesting){
                return array('url'=>$url,'success'=>$status,'headers'=>$headers,'content'=>$content);
        } else {
                return array('success'=>$status,'headers'=>$headers,'content'=>$content);
        }
}
?>




2012-12-15 10:29:25 已设置保密 顶部 回复 引用 报告 编辑 删除

dwjy
用户头衔:举人

精华贴   :0
发贴数   :229
经验值   :651
注册时间:2008-09-13
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 27 楼]

很有用,收藏了



www.liszq.com广西李氏网
www.gxhmw.net学用帝国做的站
2012-12-17 22:06:33 已设置保密 顶部 回复 引用 报告 编辑 删除

雪狼
用户头衔:书生

精华贴   :0
发贴数   :4
经验值   :19
注册时间:2006-03-05
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 28 楼]

不错,支持下============



上虞律师
2012-12-18 19:30:56 已设置保密 顶部 回复 引用 报告 编辑 删除

chinamed
用户头衔:进士

精华贴   :0
发贴数   :910
经验值   :2675
注册时间:2012-11-23
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 29 楼]

采集到本地显示叉号或显示对方站点设置的图片



2014国际医疗展www.china-medfair.com
整形展www.chinaylmrexpo.com
美容展www.chinaylmrexpo.com
2012-12-24 12:53:42 已设置保密 顶部 回复 引用 报告 编辑 删除

temp24
用户头衔:秀才

精华贴   :0
发贴数   :86
经验值   :441
注册时间:2010-04-06
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 30 楼]

好强大,不错,




2013-02-14 13:10:54 已设置保密 顶部 回复 引用 报告 编辑 删除
 3/6    |‹ ‹‹ 1 2 3 4 5 6 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1