ASP四个小技巧,抓取网页:GetBody,字节转字符BytesToBstr,正则表达式测试方法,生成静态页...

Function GetBody(weburl) 
    '创建对象
    Dim ObjXMLHTTP
    Set ObjXMLHTTP=Server.CreateObject("MSXML2.serverXMLHTTP")
    '请求文件,以异步形式
    ObjXMLHTTP.Open "GET",weburl,False
    ObjXMLHTTP.send
    While ObjXMLHTTP.readyState <> 4
        ObjXMLHTTP.waitForResponse 1000
    Wend
    '得到结果
     GetBody=ObjXMLHTTP.responseBody
    '释放对象
     Set ObjXMLHTTP=Nothing
End Function


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


<%
'For Each r In Request.QueryString
 If RegExpTest("[%<>\s';]+",Request.QueryString) then
  Response.Write("<script language='javascript'>alert('信息有误!');</script>")
  Response.End()
 end If
'Next
'vbscript正则表达式测试方法
 function RegExpTest(patrn, strng)
  Dim regEx ' 建立变量。
  Set regEx = New RegExp ' 建立正则表达式。
  regEx.Pattern = patrn ' 设置模式。
  regEx.IgnoreCase = False ' 设置是否区分大小写。
  RegExpTest = regEx.Test(strng) ' 执行搜索测试。
 end Function
%>


<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
FilePath = Server.MapPath("/")&"/index.htm"
 'response.Write(FilePath)
 Do_Url = "http://"
 Do_Url = Do_Url&Request.ServerVariables("SERVER_NAME")&"/default.aspx"
 strUrl = Do_Url
 'response.Write(strUrl)
 dim objXmlHttp
 set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP")
 objXmlHttp.open "GET",strUrl,false
 objXmlHttp.send()
 Dim binFileData
 binFileData = objXmlHttp.responseBody
 Dim objAdoStream
 set objAdoStream = Server.CreateObject("ADODB.Stream")
 objAdoStream.Type = 1
 objAdoStream.Open()
 objAdoStream.Write(binFileData)
 objAdoStream.SaveToFile FilePath,2
 objAdoStream.Close()
 
 Response.Write("<script language=javascript>alert('首页静态转换成功!');</script>")
%>

转载于:https://www.cnblogs.com/fyen/archive/2011/07/09/2101669.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值