记忆盒子

把记忆装进灰色的盒子,封装起来,那年那月,重新拾起。

首页搜索目录
search
当前主题: 软件编程

asp获取网页源代码并处理乱码的方法

作者:Kaka    时间:2009-7-11 22:15:34    浏览:    评论:1

asp获取网页源代码的前提条件有两个:一是服务器支持ADODB.STREAM组件,二是服务器安装了XMLHTTP组件并允许调用。

如果您使用的空间是国内的,那么不必担心,国内95%的空间都支持上面提到的两个组件;如果您使用的空间是国外的,那就要注意了,因为国外绝大部分空间都不支持ADODB.STREAM组件或者XMLHTTP组件。所以,如果您需要这方面的服务,那么购买空间前,就要弄清楚。可以通过如下方法进行测试:
===〉测试空间是否支持ADODB.STREAM
===〉测试空间是否支持XMLHTTP

下面为asp获取网页源代码的程序代码:
<%

url="http://www.webkaka.com"  '//定义要获取源代码的网址,一般是通过变量传递过来
HTMLCODE=getHTTPPage(url) '//获取源代码的函数

response.Write HTMLCODE '//输出HTML格式的网页内容

Function getHTTPPage(url)
    dim objXML
    set objXML=createobject("MSXML2.SERVERXMLHTTP.3.0")  '调用XMLHTTP组件,测试空间是否支持XMLHTTP
    objXML.open "GET",url,false 'false表示以同步的方式获取网页代码,了解什么是同步什么是异步
    objXML.send() '发送
    getHTTPPage=bBytesToBstr(objXML.responseBody)'返回信息,同时用函数定义编码
    set objXML=nothing'关闭
End Function


Function bBytesToBstr(body)
    dim objstream
    set objstream = CreateObject("adodb.stream") '//调用adodb.stream组件
    objstream.Type = 1
    objstream.Mode =3
    objstream.Open
    objstream.Write body
    objstream.Position = 0
    objstream.Type = 2
    objstream.Charset = "GB2312" '转换原来默认的UTF-8编码转换成GB2312编码,否则直接用XMLHTTP调用有中文字符的网页得到的将是乱码
    bBytesToBstr = objstream.ReadText
    objstream.Close
    set objstream = nothing
end Function


%>

x

标签: Asp  

※ 网站速度慢?试试网站自动优化工具 ※

  • 扩展阅读
上一篇: ORACLE 中更改用户密码的方法
下一篇: 测试空间是否支持ADODB.STREAM的方法
  • 1.o*******
  • 你好。用你的方法测试了一个网站。发现源码还是乱码的。页面显示的有部分乱码。是不是转换方式不对?
    Kaka 于 2013-4-19 11:33:48 回复
    objstream.Charset = "GB2312" 和 objstream.Charset = "UTF-8" 都是乱码吗?使用你网页的编码来转码看看。
  • 2013/4/19 9:46:53 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客                   QQ交流群(312716741)

  • 通过Google订阅本站 通过鲜果订阅本站 通过抓虾订阅本站
  • 通过QQ邮箱订阅本站 通过Yahoo订阅本站 通过有道订阅本站

Search

最新评论及回复

最近留言

网站分类

Powered By Z-Blog 1.8 Walle Build 91204 Designed by Han'space

Copyright @2009-2024 All Rights Reserved. 粤ICP备14028160号-1

Powered By Z-Blog 1.8 Walle Build 91204
Copyright @2009-2024 All Rights Reserved.