Maison > développement back-end > Tutoriel XML/RSS > Explication détaillée du composant XMLhttp pour obtenir des fichiers distants et filtrer les données cibles

Explication détaillée du composant XMLhttp pour obtenir des fichiers distants et filtrer les données cibles

黄舟
Libérer: 2017-03-27 16:47:27
original
2175 Les gens l'ont consulté

Explication détailléexmlLe composant http obtient un fichier distant et filtre les données cibles

getfile.asp

<%
&#39;&#39;利用xmlhttp组件获取远程文件保存到当前空间
&#39;&#39;此是网站建设中的一个实例,远程获取一个网页内容并筛选出相关的天气数据,当然可以跳过文件本地存储再获取数据
&#39;&#39;参考了xoyu的函数,在此感谢
fileurl="http://www.hbqx.gov.cn/other/tqyb/inc_city_hb.asp"
dotloc=InStrRev(fileurl,".")
filepath="thistest"&mid(fileurl,dotloc) &#39;&#39;建立同类型文件名
&#39;&#39;filepath="thistest.htm"
   
call saveRemoteFile(filepath,fileurl)
   
sub SaveRemoteFile(LocalFileName,RemoteFileUrl)
dim Ads,Retrieval,GetRemoteData
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", RemoteFileUrl, False, "", ""
.Send
GetRemoteData = .ResponseBody
&#39;&#39; GetDetail = .ResponseText &#39;&#39;对文本型文件可直接获取内容,但不能支持中文,不知道如何解决
End With
   
Set Retrieval = Nothing
&#39;&#39;RESPONSE.WRITE GetDetail
   
Set Ads = Server.CreateObject("Adodb.Stream") &#39;&#39;生成对应文件
With Ads
.Type = 1
.Open
.Write GetRemoteData
.SaveToFile server.MapPath(LocalFileName),2
.Cancel()
.Close()
End With
Set Ads=nothing
end sub
   
&#39;&#39;以上完成远程存储文件,以下只适用于对文本型文件的操作www.knowsky.com
set fso=server.createobject("scripting.filesystemobject") &#39;&#39;读取文件内容
set fileout=fso.opentextfile(server.mappath(filepath),1)
content=fileout.readall
set fileout=nothing
set fso=nothing
&#39;&#39;response.write content
   
contentarr=split(content,"<td") &#39;&#39;根据内容进行筛选
for i=1 to ubound(contentarr)
if instr(contentarr(i),"恩施") then thisloc=i
next
dim xu(5)
for j=0 to 4
con1=contentarr(thisloc+j)
start1=instr(con1,">")
con1=right(con1,len(con1)-start1)
stop1=instr(con1,"<")
con1=left(con1,stop1-1)
str=str&contentarr(thisloc+j)
xu(j)=trim(con1)
next
if xu(1)<>"" then
response.write "document.write(&#39;恩施州未来24小时天气预报:"&xu(1)&",最低温度"&xu(2)&"摄氏度,最高温度"&xu(3)&"摄氏度,风向:"&xu(4)&".--武汉中心气象台发布&#39;);"
else
response.write "document.write(&#39;暂未发布&#39;);"
end if
&#39;&#39;response.write server.htmlencode(str)
%>
Copier après la connexion

Dans une autre page htmCiterAfficher le contenu obtenu

<script src="getfile.asp"></script>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal