El código de Internet se ha modificado ligeramente, y la clase de caché realmente se usa. .
Guarde el código como, por ejemplo, pic.asp
Use: http://www.xxx.com/pic.asp?url=http://www.aaaa.com/log.gif
No solo 163, sino también se pueden realizar muchas imágenes de antirrobo.
<%
'Juicio de robo de enlaces
'Ifinstr (request.ServerVariAbles ("http_referer"), "http: //" & request.ServerVariAbles ("server_name") & ") = 0then
'Response.WRITE "Link ilegal"
'Respuesta.
'Endif
Dimurl, cuerpo, micache
url = request.querystring ("url")
Setmycache = newcache
mycache.name = "picindex" y url
Ifmycache.validthen
cuerpo = mycache.value
Demás
cuerpo = getWebData (URL)
mycache.addbody, dateadd ("d", 1, ahora)
Endif
Iferr.number = 0then
Respuesta.charset = "UTF-8"
Respuesta.ContentType = "Application/Octet-Stream"
Respuesta.binarywriteBody
Respuesta. Flush
Demás
Wscript.echoerr.description
Endif
'Obtener datos
PublicFunctionGetWebData (Byvalstrurl)
Dimcurlpath
curlpath = mid (strurl, 1, instr (8, strurl, "/"))
Dimcratrieval
Setretrieval = server.createObject ("Microsoft.xmlhttp")
Withrrieval
.Preen "Get", Strurl, False, "", ""
.SetRequestHeader "referente", curlpath
.Enviar
GetWebData = .ResponseBody
Fin
SetRetrreieval = nada
Función final
'Clase de caché
clasificación de clases
privateBj'cache contenido
PrivateSpiretime'Expiration Time
PrivateSpiretImename'Expiration Time Nombre de la aplicación
Nombre de la aplicación de contenido de privateCachename'Cache
privatepath'url
privatesubclass_initialize ()
ruta = request.ServerVariables ("URL")
ruta = izquierda (ruta, instrrev (ruta, "/"))
Endsub
privatesubclass_merminate ()
Endsub
PublicPropertygetblempty
'¿Está vacío
ifsempty (obj) entonces
Strempty = True
demás
Strempty = falso
endif
endpropertía
PublicPropertygetValid
'Si está disponible (caducado)
ifsempty (obj) ornotisdate (caducidad) entonces
válido = falso
elseifcdate (expiretime) <Nowthen
válido = falso
demás
Válido = verdadero
endif