侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

MusicGet 类

技术  /  管理员 发布于 7年前   157

复制代码 代码如下:
<%
Response.Expires = 0  
Response.expiresabsolute = Now() - 1  
Response.addHeader "pragma", "no-cache"  
Response.addHeader "cache-control", "private"  
Response.CacheControl = "no-cache" 
Response.Buffer = True 
Response.Clear
Server.ScriptTimeOut=999999999
'***************************************************************
'*            定义 MusicGet 类
'***************************************************************
Class GetHttp
    Private OXML,FSO,ADOS
    Private Sub Class_Initialize
        Set OXML = server.CreateObject("Microsoft.XMLHTTP") 
        Set FSO  =  Server.CreateObject("Scripting.FileSystemObject")
        Set ADOS = Server.CreateObject("ADODB.Stream")
    End Sub 

    Private Sub Class_Terminate  
        Set OXML = Nothing 
        Set FSO  = Nothing
        Set ADOS = Nothing
    End Sub  

    Public Property Get Version
        Version="动感采集系统v3.0"
    End Property

    '*****************************************************************
    '    function(私有)
    '    作用 :利用流进行中文编码
    '    参数 :vIn(要进行编码的字符患)
    '*****************************************************************
    Private Function BytesToBstr(body)
        Dim Bdat
        Bdat=Body
        ADOS.Type = 1
        ADOS.Mode =3
        ADOS.Open
        ADOS.Write Bdat
        ADOS.Position = 0
        ADOS.Type = 2
        ADOS.Charset = "GB2312"
        BytesToBstr = ADOS.ReadText 
        ADOS.Close
    End Function

    
    '*****************************************************************
    '    function(私有)
    '    作用 :利用流保存文件
    '    参数 :from(远程文件地址),tofile(保存文件位置)
    '*****************************************************************
    Private Function SaveFiles(byref from,byref tofile)
        Dim Datas
        Datas=GetData(from,0)
        Response.Write "保存成功:<font color=red>"&formatnumber(len(Datas)/1024*2,2)&"</font>Kb"
        response.Flush
        if formatnumber(len(Datas)/1024*2,2)>1 then
            ADOS.Type = 1
            ADOS.Mode =3
            ADOS.Open
            ADOS.write Datas
            ADOS.SaveToFile server.mappath(tofile),2
            ADOS.Close()
        else
            Response.Write "保存失败:<font color=red>文件大小"&formatnumber(len(imgs)/1024*2,2)&"Kb,小于1K</font>"
            response.Flush
        end if
    end function

    '*****************************************************************
    '    function(私有)
    '    作用 :利用fso检测文件是否存在,存在返回true,不存在返回false
    '    参数 :filespes(文件位置)
    '*****************************************************************
    Private Function IsExists(byref filespec) 
        If (FSO.FileExists(server.MapPath(filespec))) Then
        IsExists = True
        Else
        IsExists = False
        End If
    End Function

    '*****************************************************************
    '    function(私有)
    '    作用 :利用fso检测文件夹是否存在,存在返回true,不存在返回false
    '    参数 :folder(文件夹位置)
    '*****************************************************************
    Private Function IsFolder(byref Folder)
        If FSO.FolderExists(server.MapPath(Folder)) Then  
        IsFolder = True
        Else
        IsFolder = False
        End If
    End Function

    '*****************************************************************
    '    function(私有)
    '    作用 :利用fso创建文件夹
    '    参数 :fldr(文件夹位置)
    '*****************************************************************
    Private Function CreateFolder(byref fldr) 
        Dim f
        Set f = FSO.CreateFolder(Server.MapPath(fldr))
        CreateFolder = f.Path
        Set f=nothing
    End Function

    '*****************************************************************
    '    function(公有)
    '    作用 :保存文件,并自动创建多级文件夹
    '    参数 :fromurl(远程文件地址),tofiles (保存位置)
    '*****************************************************************
    Public Function SaveData(byref FromUrl,byref ToFiles)
        ToFiles=trim(Replace(ToFiles,"//","/"))
        flName=ToFiles
        fldr=""
        If IsExists(flName)=false then 
            GetNewsFold=split(flName,"/")
        For i=0 to Ubound(GetNewsFold)-1
            if fldr="" then
                fldr=GetNewsFold(i)
            else
                fldr=fldr&"\"&GetNewsFold(i)
            end if
            If IsFolder(fldr)=false then
                CreateFolder fldr
            End if
        Next
        SaveFiles FromUrl,flName
        End if
    End function

    '*****************************************************************
    '    function(公有)
    '    作用 :取得远程数据
    '    参数 :url(远程文件地址),getmode (模式:0为二进制,1为中文编码)
    '*****************************************************************
    Public Function GetData(byref url,byref GetMode) 
        'on error resume next 
        SourceCode = OXML.open ("GET",url,false)
        OXML.send() 
        if OXML.readystate<>4 then exit function
        if GetMode=0 then
        GetData = OXML.responseBody
        else
        GetData = BytesToBstr(OXML.responseBody)
        end if
        if err.number<>0 then err.Clear
    End Function

    '*****************************************************************
    '    function(公有)
    '    作用 :格式化远程图片地址为本地位置
    '    参数 :imgurl(远程图片地址),imgfolder (本地图片目录),fristname(加入的前缀名称)
    '*****************************************************************
    Public Function FormatImgPath(byref ImgUrl,byref ImgFolder,byref FristName,byref noimg)
        strpath=""
        ImgUrl=ImgUrl
        if instr(ImgUrl,"Nophoto") or lenb(GetData(ImgUrl,0))<=0 then
            strpath=noimg
            Response.Write "<a href="https:/article/&strpath&">"&strpath&"</a>" &vbcrlf
        else
            if Instr(ImgUrl,".asp") then
                strpath=FristName&"_"&Mid(ImgUrl, InStrRev(ImgUrl, "=")+1)&".jpg"
            else
                strpath=FristName&"_"&Mid(ImgUrl, InStrRev(ImgUrl, "/")+1)
            end if
            strpath = ImgFolder&"/"&strpath
            strpath = Replace(strpath,"//","/")
            if left(strpath,1)="/" then strpath=right(strpath,len(strpath)-1)
            strpath = trim(strpath)
            Response.Write "<a href="https:/article/&strpath&">"&strpath&"</a>" &vbcrlf
            savedata ImgUrl,strpath
        end if
        FormatImgPath = strpath
    End function

    '*****************************************************************
    '    function(公有)
    '    作用 :格式化远程音乐文件地址为本地位置
    '    参数 :MusicUrl(远程文件地址),oServerUrl (原服务连接地址),MusicFolder(本地音乐文件目录)
    '*****************************************************************
    Public Function FormatMusicPath(byref MusicUrl,byref oServerUrl,byref MusicFolder)
        strpath=""
        strpath = Replace(MusicUrl,oServerUrl,"")
        strpath = MusicFolder&"/"&strpath
        strpath = Replace(strpath,"//","/")
        if left(strpath,1)="/" then strpath=right(strpath,len(strpath)-1)
        FormatMusicPath=trim(strpath)
    End function

    '*****************************************************************
    '    function(公有)
    '    作用 :格式化html
    '*****************************************************************
    Public Function FormatHtml(Str,itype)
        if itype=0 then
            Str=replace(Str,chr(39),"'") 
            Str=replace(Str,chr(34),""") 
            Str=replace(Str,"<","<") 
            Str=replace(Str,">",">") 
        else
            Str=replace(Str,"chr(39)","") 
            Str=replace(Str,"chr(34)","") 
        end if
        FormatHtml=Str
    End function 

    '*****************************************************************
    '    function(公有)
    '    作用 :截取字符
    '    参数 :str要操作的对像,start开始字符,last结束字符,n模式
    '*****************************************************************
    Public Function GetContent(byref str,byref start,byref last,byref n)
        If Instr(lcase(str),lcase(start))>0 then
            select case n
            case 0    '左右都截取(都取前面)(去处关键字)
            GetContent=Right(str,Len(str)-Instr(lcase(str),lcase(start))-Len(start)+1)
            GetContent=Left(GetContent,Instr(lcase(GetContent),lcase(last))-1)
            case 1    '左右都截取(都取前面)(保留关键字)
            GetContent=Right(str,Len(str)-Instr(lcase(str),lcase(start))+1)
            GetContent=Left(GetContent,Instr(lcase(GetContent),lcase(last))+Len(last)-1)
            case 2    '只往右截取(取前面的)(去除关键字)
            GetContent=Right(str,Len(str)-Instr(lcase(str),lcase(start))-Len(start)+1)
            case 3    '只往右截取(取前面的)(包含关键字)
            GetContent=Right(str,Len(str)-Instr(lcase(str),lcase(start))+1)
            case 4    '只往左截取(取后面的)(包含关键字)
            GetContent=Left(str,InstrRev(lcase(str),lcase(start))+Len(start)-1)
            case 5    '只往左截取(取后面的)(去除关键字)
            GetContent=Left(str,InstrRev(lcase(str),lcase(start))-1)
            case 6    '只往左截取(取前面的)(包含关键字)
            GetContent=Left(str,Instr(lcase(str),lcase(start))+Len(start)-1)
            case 7    '只往右截取(取后面的)(包含关键字)
            GetContent=Right(str,Len(str)-InstrRev(lcase(str),lcase(start))+1)
            case 8    '只往左截取(取前面的)(去除关键字)
            GetContent=Left(str,Instr(lcase(str),lcase(start))-1)
            case 9    '只往右截取(取后面的)(包含关键字)
            GetContent=Right(str,Len(str)-InstrRev(lcase(str),lcase(start)))
            end select
        Else
            GetContent=""
        End if
    End function

    '*****************************************************************
    '    function(公有)
    '    作用 :取得字符的拼音
    '*****************************************************************
    Public Function GetPyChar(byref Char)
        tmp=65536+asc(Char)
        if(tmp>=45217 and tmp<=45252) or (tmp=65601) or (tmp=65633) or (tmp=37083) then
         GetPyChar= "A"
        elseif(tmp>=45253 and tmp<=45760) or (tmp=65602) or (tmp=65634) or (tmp=39658) then
         GetPyChar= "B"
        elseif(tmp>=45761 and tmp<=46317) or (tmp=65603) or (tmp=65635) or (tmp=33405) then
         GetPyChar= "C"
        elseif(tmp>=46318 and tmp<=46930) or (tmp>=61884 and tmp<=61884) or (tmp=65604) or (tmp>=36820 and tmp<=38524) or (tmp=65636) then
         GetPyChar= "D"
        elseif(tmp>=46931 and tmp<=47009) or (tmp=65605) or (tmp=65637) or (tmp=61513) then
         GetPyChar= "E"
        elseif(tmp>=47010 and tmp<=47296) or (tmp=65606) or (tmp=65638) or (tmp=61320) or (tmp=63568) or (tmp=36281) then
         GetPyChar= "F"
        elseif(tmp>=47297 and tmp<=47613) or (tmp=65607) or (tmp=65639) or (tmp=35949) or (tmp=36089) or (tmp=36694) or (tmp=34808) then
         GetPyChar= "G"
        elseif(tmp>=47614 and tmp<=48118) or (tmp>=59112 and tmp<=59112) or (tmp=65608) or (tmp=65640) then
         GetPyChar= "H"
        elseif(tmp=65641) or (tmp=65609) or (tmp=65641) then
         GetPyChar="I"
        elseif(tmp>=48119 and tmp<=49061 and tmp<>48739) or (tmp>=62430 and tmp<=62430) or (tmp=65610) or (tmp=65642) or (tmp=39048) then
         GetPyChar= "J"
        elseif(tmp>=49062 and tmp<=49323) or (tmp=65611) or (tmp=65643) then
         GetPyChar= "K"
        elseif(tmp>=49324 and tmp<=49895) or (tmp>=58838 and tmp<=58838) or (tmp=65612) or (tmp=65644) or (tmp=62418) or (tmp=48739) then
         GetPyChar= "L"
        elseif(tmp>=49896 and tmp<=50370) or (tmp=65613) or (tmp=65645) then
         GetPyChar= "M"
        elseif(tmp>=50371 and tmp<=50613) or (tmp=65614) or (tmp=65646) then
         GetPyChar= "N"
        elseif(tmp>=50614 and tmp<=50621) or (tmp=65615) or (tmp=65647) then
         GetPyChar= "O"
        elseif(tmp>=50622 and tmp<=50905) or (tmp=65616) or (tmp=65648) then
         GetPyChar= "P"
        elseif(tmp>=50906 and tmp<=51386) or (tmp>=62659 and tmp<=63172) or (tmp=65617) or (tmp=65649) then
         GetPyChar= "Q"
        elseif(tmp>=51387 and tmp<=51445) or (tmp=65618) or (tmp=65650) then
         GetPyChar= "R"
        elseif(tmp>=51446 and tmp<=52217) or (tmp=65619) or (tmp=65651) or (tmp=34009) then
         GetPyChar= "S"
        elseif(tmp>=52218 and tmp<=52697) or (tmp=65620) or (tmp=65652) then
         GetPyChar= "T"
        elseif(tmp=65621) or (tmp=65653) then
         GetPyChar="U"
        elseif(tmp=65622) or (tmp=65654) then
         GetPyChar="V"
        elseif(tmp>=52698 and tmp<=52979) or (tmp=65623) or (tmp=65655) then
         GetPyChar= "W"
        elseif(tmp>=52980 and tmp<=53688) or (tmp=65624) or (tmp=65656) then
         GetPyChar= "X"
        elseif(tmp>=53689 and tmp<=54480) or (tmp=65625) or (tmp=65657) then
         GetPyChar= "Y"
        elseif(tmp>=54481 and tmp<=62383 and tmp<>59112 and tmp<>58838) or (tmp=65626) or (tmp=65658) or (tmp=38395) or (tmp=39783) then
         GetPyChar= "Z"
        elseif(tmp=65584) then
         GetPyChar="0-9"
        elseif(tmp=65585) then
         GetPyChar="0-9"
        elseif(tmp=65586) then
         GetPyChar="0-9"
        elseif(tmp=65587) then
         GetPyChar="0-9"
        elseif(tmp=65588) then
         GetPyChar="0-9"
        elseif(tmp=65589) then
         GetPyChar="0-9"
        elseif(tmp=65590) then
         GetPyChar="0-9"
        elseif(tmp=65591) then
         GetPyChar="0-9"
        elseif(tmp=65592) then
         GetPyChar="0-9"
        elseif(tmp=65593) then
         GetPyChar="0-9"
        else
         GetPyChar="0-9"
        end if
    end function

    '*****************************************************************
    '    function(公有)
    '    作用 :循环取得字符串的拼音
    '*****************************************************************
    Public Function GetPy(byref Str)
        for i=1 to len(Str)
            GetPy=GetPy&GetPyChar(mid(Str,i,1))
        next
    end function 

    '*****************************************************************
    '    function(公有)
    '    作用 :取得歌曲歌词
    '*****************************************************************
    Public Function LrcMusicGc(MusicName,singer)
            musicGc=Getdata("http://mp3.baidu.com/m?tn=baidump3lyric&ct=150994944&word="&musicname&"%20"&singer,1)
            if instr(musicgc,"建议您检查输入文字有无错误") then 
                MusicGc= "暂无"
            else
                musicGc=FormatHtml(musicgc,0)
                musicGc=GetContent(musicgc,"专辑:<a href="http://mp3.baidu.com/m?tn=baidump3&ct=134217728&lm=-1&word=","<p align=right>",0)
                musicgc=Replace(musicgc,"<","<")
                musicgc=Repl


  • 上一条:
    把无限级分类生成数组
    下一条:
    管理员登录
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 2024.07.09日OpenAI将终止对中国等国家和地区API服务(0个评论)
    • 2024/6/9最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(0个评论)
    • 国外服务器实现api.openai.com反代nginx配置(0个评论)
    • 2024/4/28最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2017-09
    • 2018-01
    • 2018-07
    • 2018-08
    • 2018-09
    • 2018-12
    • 2019-01
    • 2019-02
    • 2019-03
    • 2019-04
    • 2019-05
    • 2019-06
    • 2019-07
    • 2019-08
    • 2019-09
    • 2019-10
    • 2019-11
    • 2019-12
    • 2020-01
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-12
    • 2024-02
    • 2024-04
    • 2024-05
    • 2024-06
    • 2025-02
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客