首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

asp 获取因特网址 title keywords description

2013-09-08 
asp 获取网址 title keywords description提供一个网址查询他的title keywords description可自动辨别这个

asp 获取网址 title keywords description
提供一个网址查询他的title keywords description
可自动辨别这个网址的编码 asp
[解决办法]

引用:
Quote: 引用:

你上面的代码是js的,小弟只懂VBscript不了解javascript 不知道大哥可不可以改成vbscript编码的 在这在次感谢了。。。完成了150分结贴。


<%@ codepage=936  %>
<%
Response.Charset="gb2312"
%>
 
<script language="jscript" runat="server">
function bs2str(bs,ch){
    var re=''; 
    with(new ActiveXObject("adodb.stream")){
        type = 1,open(),Write(bs);
        Position = 0,Type = 2;
        Charset=ch,re=ReadText();
        Close()
    }
    return re;
}
var titReg=/[^>]+(?=<\/title)/i;
var kwReg=/<meta.+?name\s*=\s*['"]?(keywords
[解决办法]
description)\b.+?content\s*=\s*(['"])([^\2]+?)\2/ig;  
var chReg=/Charset=([^;]+)/i;
function getInfo(url){
    var xh = new ActiveXObject("Microsoft.XMLHttp"),ch,text,re={},ms; 
    with(xh) open("GET", url, false),send();
    ch=chReg.test(xh.getResponseHeader("Content-Type"))?RegExp.$1:'gb2312';
    text=/gb2312/i.test(ch)? bs2str(xh.responseBody,ch):xh.responseText;
    re.title=text.match(titReg);
    while (ms = kwReg.exec(text))re[ms[1].toLowerCase()]=ms[3];
    for(var k in re)re[k]=re[k]
[解决办法]
'';
    re.html=text
    return re;
}
</script>
<% 
 '''''VBS中调用''''''''''
 set  info=getInfo("http://www.163.com")   
 Response.write( info.title  &  "<br/><br/>")


 Response.write( info.keywords &  "<br/><br/>" )
 Response.write( info.description &  "<br/><br/>" )
%>


上面是VBS调用 JS, JS处理正则,字符串方便
主要是 getResponseHeader("Content-Type") 取编码,其它也就gb2312 时要转,utf-8,gbk 直接可用responseText

热点排行