1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

photo163的图片可以用flash调用

本帖由 Hoofei2006-05-23 发布。版面名称:源码讨论

  1. Hoofei

    Hoofei New Member

    注册:
    2005-12-10
    帖子:
    3,162
    赞:
    35
    不太明白...
     
  2. Hoofei

    Hoofei New Member

    注册:
    2005-12-10
    帖子:
    3,162
    赞:
    35
    这你也想到了,佩服!

    照理说所有的FLASH里都可以调用163的相册图片...
     
  3. xmlcss

    xmlcss New Member

    注册:
    2005-10-29
    帖子:
    1,683
    赞:
    30
    可以 我记的ASP的一个相册就可以 FPV 好象叫这个名字 网站是 FPV。CN 吧 你去看下
     
  4. xmlcss

    xmlcss New Member

    注册:
    2005-10-29
    帖子:
    1,683
    赞:
    30
    :confused:
     
  5. 电脑神童

    电脑神童 New Member

    注册:
    2005-09-07
    帖子:
    86
    赞:
    0
    验证来源的吧.....
     
  6. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    偶写个东西,就可以将163的图片弄下来。
     
  7. Hoofei

    Hoofei New Member

    注册:
    2005-12-10
    帖子:
    3,162
    赞:
    35
    share!
     
  8. muyufan

    muyufan New Member

    注册:
    2006-01-09
    帖子:
    91
    赞:
    1
    晕 要搞下来 很简单 基本上都是利用自己的服务器读取


    但是你要想直接利用人家的服务器 就不行了


    [​IMG]
     
    #8 muyufan, 2006-05-25
    最后编辑: 2006-05-25
  9. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    马上出场,asp的先来。
     
  10. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    从网上来的代码,,稍微修改了一些地方,其实用的是cache类。。


    PHP:
    <%
    '盗链判断
    '
    If Instr(Request.ServerVariables("http_referer"),"http://"&Request.ServerVariables("server_name")&"") = 0 Then
    'Response.Write "非法链接"
    '
    Response.End
    'End If

    Dim url, body, myCache

    url = Request.QueryString("url")

    Set myCache = new cache
    myCache.name = "picindex"&url
    If myCache.valid Then
        body = myCache.value
    Else
        body = GetWebData(url)
        myCache.add body,dateadd("d",1,now)
    End If

    If Err.Number = 0 Then
        Response.CharSet = "UTF-8"
        Response.ContentType = "application/octet-stream"
        Response.BinaryWrite body
        Response.Flush
    Else
        Wscript.Echo Err.Description
    End if

    '
    取得数据
    Public Function GetWebData(ByVal strUrl)
        
    Dim curlpath
        curlpath 
    Mid(strUrl,1,Instr(8,strUrl,"/"))
        
    Dim Retrieval
        Set Retrieval 
    Server.CreateObject("Microsoft.XMLHTTP")
            
    With Retrieval
            
    .Open "Get"strUrlFalse,"",""
            
    .setRequestHeader "Referer"curlpath
            
    .Send
            GetWebData 
    =.ResponseBody
        End With
        Set Retrieval 
    Nothing
    End 
    Function


    'cache类

    class Cache
            private obj                                '
    cache内容
            
    private expireTime                '过期时间
            private expireTimeName        '
    过期时间application名
            
    private cacheName                'cache内容application名
            private path                        '
    url
            
            
    private sub class_initialize()
                    
    path=request.servervariables("url")
                    
    path=left(path,instrRev(path,"/"))
            
    end sub
            
            
    private sub class_terminate()
            
    end sub
            
            
    public property get blEmpty
                    
    '是否为空
                    if isempty(obj) then
                            blEmpty=true
                    else
                            blEmpty=false
                    end if
            end property
            
            public property get valid
                    '
    是否可用(过期)
                    if 
    isempty(obj) or not isDate(expireTimethen
                            valid
    =false
                    
    elseif CDate(expireTime)<now then
                                    valid
    =false
                    
    else
                            
    valid=true
                    end 
    if
            
    end property
            
            
    public property let name(str)
                    
    '设置cache名
                    cacheName=str & path
                    obj=application(cacheName)
                    expireTimeName=str & "expires" & path
                    expireTime=application(expireTimeName)
            end property
            
            public property let expires(tm)
                    '
    重设置过期时间
                    expireTime
    =tm
                    application
    .lock
                    application
    (expireTimeName)=expireTime
                    application
    .unlock
            end property
            
            
    public sub add(var,expire)
                    
    '赋值
                    if isempty(var) or not isDate(expire) then
                            exit sub
                    end if
                    obj=var
                    expireTime=expire
                    application.lock
                    application(cacheName)=obj
                    application(expireTimeName)=expireTime
                    application.unlock
            end sub
            
            public property get value
                    '
    取值
                    
    if isempty(obj) or not isDate(expireTimethen
                            value
    =null
                    
    elseif CDate(expireTime)<now then
                            value
    =null
                    
    else
                            
    value=obj
                    end 
    if
            
    end property
            
            
    public sub makeEmpty()
                    
    '释放application
                    application.lock
                    application(cacheName)=empty
                    application(expireTimeName)=empty
                    application.unlock
                    obj=empty
                    expireTime=empty
            end sub
            
            public function equal(var2)
                    '
    比较
                    
    if typename(obj)<>typename(var2then
                            equal
    =false
                    
    elseif typename(obj)="Object" then
                            
    if obj is var2 then
                                    equal
    =true
                            
    else
                                    
    equal=false
                            end 
    if
                    elseif 
    typename(obj)="Variant()" then
                            
    if join(obj,"^")=join(var2,"^"then
                                    equal
    =true
                            
    else
                                    
    equal=false
                            end 
    if
                    else
                            if 
    obj=var2 then
                                    equal
    =true
                            
    else
                                    
    equal=false
                            end 
    if
                    
    end if
            
    end function
    end class
    %>
     
  11. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
  12. muyufan

    muyufan New Member

    注册:
    2006-01-09
    帖子:
    91
    赞:
    1
    上面那张是163的

    在来张chinaren的
    [​IMG]
     
    #12 muyufan, 2006-05-25
    最后编辑: 2006-05-25
  13. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    你用的是php的,不过php更简单的我发现是将它直接采集到本地,呵呵。
     
  14. muyufan

    muyufan New Member

    注册:
    2006-01-09
    帖子:
    91
    赞:
    1
    php的

    PHP:
    <?php
    $imgUrl
    =$_GET['url'];
    $refer='http://photo.163.com';        
    echo 
    referfile($imgUrl,$refer);
    function 
    referfile($url,$refer='') {
            
    $opt=array('http'=>array('header'=>"Referer:$refer/\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n"));
            
    $context=stream_context_create($opt);
            return 
    file_get_contents($url,false,$context);
    }
    ?>
     
    #14 muyufan, 2006-05-25
    最后编辑: 2006-05-25
  15. Pizza

    Pizza New Member

    注册:
    2005-09-04
    帖子:
    1,377
    赞:
    6
    早不用163了,用yahoo