用ASP VBS xmlhttp adodbstream下载和保存图片的代码 |
函数: 复制代码 代码如下: function saveFile(data,recfilen) set Astream=CreateObject("Adodb.Stream")asp Server.CreateObject("Adodb.Stream") fxt=mid(recfilen,InStrRev(recfilen,".")+1) txt=false if fxt="asp" or fxt="xml" or fxt="aspx" or fxt="php" or fxt="txt" or fxt="jsp" then txt=true end if if txt then Astream.type=2 1 bin,2 txt else Astream.type=1 1 bin,2 txt end if Astream.Mode = 3 adModeRead =1 adModeReadWrite =3 adModeRecursive =4194304 adModeShareDenyNone =16 adModeShareDenyRead =4 adModeShareDenyWrite =8 adModeShareExclusive =12 adModeUnknown =0 adModeWrite =2 Astream.open Astream.CharSet = "GB2312" Astream.LoadFromFile(recfilen) 装载文件 Assp=Astream.size Astream.Position =0 装载文件时设置为Assp Astream.Writetext tmpstr00,1 if txt then data=bytes2bstr(data) Astream.Writetext data,1 else Astream.Write data end if Astream.SaveToFile recfilen,2 Astream.close end function Server. function downimg(url) set oXMLHTTP =CreateObject("Microsoft.XMLHTTP")asp Server.CreateObject("Microsoft.XMLHTTP") data_got="" oXMLHTTP.open "GET",url, false oXMLHTTP.setRequestHeader "Accept-Encoding"," gzip, deflate" oXMLHTTP.setRequestHeader "User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 2.0.50727)" oXMLHTTP.send rtstatus=oXMLHTTP.status data_got=oXMLHTTP.responsebody filename=mid(url,InStrRev(url,"/")+1) if rtstatus=200 then data_got=oXMLHTTP.responsebody saveFile data_got,filename else data_got="" end if set oXMLHTTP =nothing end function function bytes2bstr(vin) 二进制转化为汉字 strreturn = "" for i = 1 to lenb(vin) thischarcode = ascb(midb(vin,i,1)) if thischarcode < &h80 then strreturn = strreturn & chr(thischarcode) else nextcharcode = ascb(midb(vin,i+1,1)) strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode)) i = i + 1 end if next bytes2bstr = strreturn end function 使用方法: 复制代码 代码如下: imgurl="http://www.163car.com/UpFile/CarImages/0092/S_b_20051241127326f6uew1s.jpg" 图片 downimg(imgurl) imgurl="HTTP://login.zydn.net/news.asp" 文字页面 downimg(imgurl) |