Existem muitos programas de cobrança on -line agora, mas às vezes quando você encontra um bom site e deseja fazer uma ferramenta de coleção para coletar algumas informações, você precisa escrever o programa. De fato, esses programas de cobrança não são difíceis de escrever. Eles analisam principalmente a estrutura da web do site de origem.
Primeiro baixe um arquivo de classe XMLHTTP:
<%
Classe XHTTP
private CSET, SURL, Serror
Sub -classe privado_initialize ()
'cset = "utf-8"
cset = "GB2312"
Serror = ""
final sub
Sub -classe particular ()
Final sub
Propriedade pública Let Url (Theurl)
surl = theurl
propriedade final
Propriedade pública Get Basepath ()
Basepath = Mid (Surl, 1, Instrrev (Surl, "/")-1)
propriedade final
Propriedade pública Get FileName ()
Nome do arquivo = MID (SURL, Instrrev (SURL, "/")+1)
propriedade final
Propriedade pública Get Html ()
Html = bytestobstr (getbody (surl))
propriedade final
Propriedade pública Get Xhttperror ()
xhttperror = Serror
propriedade final
função privada bytestobstr (corpo)
em erro de erro em seguida
'CSET: GB2312 UTF-8
objStream dim
set objstream = server.createObject ("adodb.stream")
com objstream
.Type = 1 '
.Mode = 3 '
.Abrir
.
.Position = 0 '
.Type = 2 '
.Charset = cset '
Bytestobstr = .readText '
.Fechar
termine com
definir objstream = nada
Função final
função privada getbody (surl)
em erro de erro em seguida
Dim XmlHttp
'Definir xmlhttp = server.createObject ("msxml2.xmlHttp.4.0")
'Definir xmlHttp = server.createObject ("Microsoft.xmlHttp")
Definir xmlhttp = server.createObject ("msxml2.serverxmlhttp")
xmlhttp.setTimeouts 10000.10000.10000.30000
xmlhttp.open "get", surl, false
xmlHttp.send
Se xmlHttp.readyState = 4 então
'Se xmlhttp.status = 200 então
getBody = xmlHttp.ResponseBody
'final se
outro
getbody = ""
final se
se err.number <> 0 então
serror = err.number
Err.clear
outro
Serror = ""
final se
Defina xmlHttp = nada
Função final
Função pública SaveImage (tofile, isoverwrite)
em erro de erro em seguida
Dim Objstream, objfso, imgs
Se não for isoverwrite então
Set objfso = server.createObject ("scripting.filesystemoBject")
Se objfso.fileExists (Server.mappath (Tofile)) então
Função de saída
Final se
Defina objfso = nada
Final se
imgs = getbody (surl)
Set objstream = server.createObject ("adodb.stream")
com objstream
.Type = 1
.Abrir
.Write imgs
.Savetofile Server.Mappath (Tofile), 2
.Fechar()
termine com
Defina objstream = nada
Função final
Classe final
%>
Com esse tipo de arquivo, será muito mais conveniente fazer as coisas.
Em seguida, você pode analisar a estrutura da página da web do site da coleção e escrever o programa de coleção.
Aqui está um exemplo:
<!-#incluir file = "Conn.asp"->
<!-#incluir file = "Inc/xhttp_class.asp"->
<!-#incluir file = "inc/function.asp"->
<%
Server.scriptTimeout = 1000
%>
<html>
<head>
<meta http-equiv = "content-type" content = "text /html; charset = gb2312" />
<title> BT Collector </ititle>