订阅本栏目 RSS您所在的位置: 深山工作室 > ASP > 正文

利用Asp里的xmlhttp组件来获取页面内容

网络 2009/1/23 9:49:55 深山行者 字体: 浏览 13894
以下是引用片段:

以下文件保存为:test.asp  后运行

<%
on error resume next
time1=timer
dim reg,vUrl,VBody,temp1,temp2,code,time1,time2,title
vUrl=trim(request.form("url"))
reg="\<meta.+ charset= {0,}([^\""| |\>|\/]*).+\/{0,1}\>"
if vUrl<>"" then
  VBody=GetResStr(trim(request.form("url")))
  temp1=VBody:temp2=VBody
  code=GetCode(temp1,reg)
  title=GetCode(temp2,"\<title\>(.*)\<\/title\>")
else
  vUrl="http://"
end if
time2=timer
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>抓取页面</title>
<%if err.number<>0 then%>
<script language="javascript">alert('发生错误!\n您输入的URL为\"<%=vUrl%>\"\n请检查您输入的URL是否合法!');</script>
<%end if%>
</head>
<body style="font-size:12px;margin:20px 0 0 20px;">
<form name="geturl" action="test.asp" method="post">
请输入合法URL(必须以http://开头):<br /><input name="url" type="text" size=60 value="<%=vUrl%>"/><br />
<input type="submit" value="抓取" /><br />
</form>
所用时间:<font color=green><%=formatnumber((time2-time1)*1000,2)%>MS</font> <br />
页面标题:<font color=green><%=title%></font> 页面编码:<font color=green><%=code%></font> <br />
<textarea cols=150 rows=30><%=VBody%></textarea>
</body>
</html>

<% 
function GetResStr(URL)
dim ResBody,ResStr,PageCode
Set Http=server.createobject("msxml2.serverxmlhttp.3.0") 
Http.setTimeouts 10000, 10000, 10000, 10000 
Http.open "GET",URL,False 
Http.Send() 
If Http.Readystate =4 Then 
  If Http.status=200 Then
    ResStr=http.responseText
    ResBody=http.responseBody
    PageCode=GetCode(ResStr,reg)
    GetResStr=BytesToBstr(http.responseBody,PageCode)
  End If 
End If 
End Function

'函数名:BytesToBstr
'作用:转换二进制数据为字符
'参数:Body-二进制数据,Cset-文本编码方式
Function BytesToBstr(Body,Cset) 
  Dim Objstream 
  Set Objstream = Server.CreateObject("adodb.stream") 
  objstream.Type = 1 
  objstream.Mode =3 
  objstream.Open 
  objstream.Write body 
  objstream.Position = 0 
  objstream.Type = 2 
  objstream.Charset = Cset 
  BytesToBstr = objstream.ReadText 
  objstream.Close 
  set objstream = nothing 
End Function
 
'函数名:GetCode
'作用:转换二进制为字符
'参数:str-待查询字符串,regstr-正则表达式
Function GetCode(str,regstr)
Dim Reg
set Reg= new RegExp
Reg.IgnoreCase = True
Reg.MultiLine = True
Reg.Pattern =regstr
Set Cols = Reg.Execute(str)
str=Cols(0).SubMatches(0)
GetCode=str
end function
%>


相关阅读
在iframe窗口中打开链接
超简洁版式留言板模板
深山行者留言系统V2.2 .1 更新下载
北京顺义阿来电脑科技有限公司电脑配件在线网店
ASP汉字转拼音,支持自定义特殊词语
网页制作CSS中常用的单位
吉林省文化国际旅行社有限公司
深山行者留言系统V1.0 (简称深山留言V1.0)
共有0条关于《利用Asp里的xmlhttp组件来获取页面内容》的评论
发表评论
正在加载评论......
返回顶部发表评论
呢 称:
表 情:
内 容:
评论内容:不能超过 1000 字,需审核,请自觉遵守互联网相关政策法规。
验证码: 验证码 
网友评论声明,请自觉遵守互联网相关政策法规。

您发布的评论即表示同意遵守以下条款:
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家、社会、集体和公民的合法权益;
二、不得发布国家法律、法规明令禁止的内容;互相尊重,对自己在本站的言论和行为负责;
三、本站对您所发布内容拥有处置权。

更多信息>>栏目类别选择
百度小程序开发
微信小程序开发
微信公众号开发
uni-app
asp函数库
ASP
DIV+CSS
HTML
python
更多>>同类信息
ASP中Utf-8与Gb2312编码转换乱码问题的解决方法页面编码声明
asp显示随机密码
通过阿里云服务接口获得ip地址详细信息
iis点开后任务栏上有显示,但是窗口看不到的解决办法
RSA加密解密插件
微软Encoder加密解密函数
更多>>最新添加文章
python通过代码修改pip下载源让下载库飞起
python里面requests.post返回的res.text还有其它的吗
aliyun阿里云续费域名优惠口令(注册、续费都可以使用)
windows7环境下安装配置jdk
python对微信操作要用到这两个库wxpy与itchat
ASP中Utf-8与Gb2312编码转换乱码问题的解决方法页面编码声明
DW设置之后更好用 DreamweaverCS编辑GB2312与UTF-8文件在代码视图中点击鼠标错位问题的解决办法
解决国内 github.com 打不开的准确方法
更多>>随机抽取信息
asp读取QQ的rss之xml数据
武义熟溪温泉旅行网
重新设定目标与学习方法,好记忆不如烂笔头
01. windows xp 安装iis视频教程
七种网站添加链接的简单方法
正则替换回车换行符和把br替换成回车换行符