asp利用XmlHttp和Adodb.Stream采集图片
来源:asp之家 时间:2007-12-06 18:42:00
采集文章给建站带来了很大的方便,特别是一些小网站,人员有限,资金有限,适当的使用采集功能可以很快丰富我们的网站,采集这么厉害可能你会觉的代码一定很复杂,很高深。其实只要你懂得采集的原理,这一切将不再神秘。
本文介绍了采集中远程图片的自动下载保存的asp代码,使用到了MSXML2.XmlHttp和Adodb.Stream
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ASP采集远程图片实例代码</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<%
'本代码来自 CNLei
'下面的函数功能读取并保存远程图片的内容
Function Gethttpimg(Url)
On Error Resume Next
Dim Http
Set Http=Server.Createobject("MSXML2.XmlHttp")
Http.Open "Get",Url,False
Http.Send()
If Http.Readystate<>4 Then Exit Function
Gethttpimg=Http.Responsebody
Set Http=Nothing
If Err.Number<>0 Then Err.Clear
End Function
'保存以读取图片的内容到本地
Sub Save2Local(From,Tofile)
Dim Geturl,Objstream,Imgs
Geturl=Trim(From)
Imgs=Gethttpimg(Geturl)
Set Objstream = Server.Createobject("Adodb.Stream")
Objstream.Type =1
Objstream.Open
Objstream.Write Imgs
Objstream.Savetofile Tofile,2
Objstream.Close()
Set Objstream=Nothing
'Response.Write("The Img has saved!")
End Sub
’使用方法
Call Save2Local("https://www.aspxhome.com/images/logo.gif",Server.MapPath("logo.gif")) %>
</body>
</html>
怎么样挺简单吧,就用到了两个函数。
正是因为采集的功能强大其效率高,也给很多人带来了问题,自己辛辛苦苦添加的文章别人只要一会儿就都给采集走了,这不是很不公平吗?那么怎么能防止别人采集我的网站内容呢?请看:《网站防止采集方法全攻略 》和《来看看如何防止采集 》