新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > Asp教程 > 正文:利用asp查询某域名是否备案,并返回备案号

利用asp查询某域名是否备案,并返回备案号

新客网 XKER.COM 2006-04-12 来源: 收藏本文
利用asp查询某域名是否备案,并返回备案号
返回格式是:
DataSet_ICP(1)
DataSet_ICP(2)
DataSet_ICP(..)
DataSet_ICP(n)


其中数组DataSet_ICP的每一行代表信产部查询结果表格中的一行,每一行中的各列使用'分号隔.
比如要查询域名web9898.cn是否备案是,可以使用如下方式调用:

<%
'----------------------段一
'必须将[段二]放在段一的前面,这儿为了排版,所以提到了前边,否则无法使用

if LoadICP("DO","web9898.cn") then
ICPNo=GetNo()
if ICPNo="ERROR"
Response.write "查询失败"
elseif ICPNO="NONE"
Response.write "未备案"
else
Response.write "web9898.cn的备案编号:" & ICPNo
end if
else
Response.write "抱歉,查询失败"
end if
%>

<%
'-------------------------段二
Dim DataSet_ICP()

function getCmd(strM)
strM=lcase(strM)
if inStr(strM," ")>0 then
getCmd=left(strM,inStr(strM," ")-1)
else
getCmd=strM
end if
end function

Function bstr(vIn)

Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
strReturn = ""

For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bstr = strReturn
End Function

Sub tinyFitler(someMes)
ReDim Preserve DataSet_ICP(0)
blDrop=true
blN=false
PreChar=""
PreCmd=""
blInTd=false
intTB=0
intTR=0
intTD=0
blInTd=false
infos=""

for i=1 to len(someMes)
Schar=mid(someMes,i,1)
if Schar="<" then
blDrop=true
lastCmd=""
blN=false
elseif Schar=">" then
blDrop=false '某个命令完成
lastCmd=getCmd(lastCmd)
if blN then
if lastCmd="a" then
if blInTd then infos=infos & ","
end if
if lastCmd="td" then
blInTD=false
DataSet_ICP(intTR)=DataSet_ICP(intTR) & infos & "`"
infos=""
end if
else
if lastCmd="table" then
intTB=intTB+1
if intTB>1 then
Exit Sub '不用处理余下的表格
end if
end if
if lastCmd="tr" then
intTR=intTR+1
intTD=0
blInTD=false
ReDim Preserve DataSet_ICP(intTR)
end if

if lastCmd="td" then
blInTD=true
intTD=intTD+1
end if

end if

elseif Schar="/" and PreChar="<" then
blN=true
else
if not blDrop then
if blInTD then infos=infos & Schar
else
lastCmd=lastCmd & Schar
end if
end if
PreChar=Schar
next

end Sub

Function GetICP(ByType,textValue)
on error resume next
ByType=Lcase(ByType)
if ByType="no" then
Gtype=8
elseif ByType="do" then
Gtype=2
else
Gtype=6
end if
Referer="http://www.miibeian.gov.cn/Search/WW_ICP_WhetherRecord_Select.jsp"
url="http://211.94.161.10/Search/WW_ICP_WhetherRecord_Search.jsp?selectid=" & Gtype & "&textfield=" & textValue
' url="http://www.miibeian.gov.cn/Search/WW_ICP_WhetherRecord_Search.jsp?selectid=" & Gtype & "&textfield=" & textValue
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Post", url, false
.setRequestHeader "Referer",Referer
.Send
GetICP =.ResponseBody
End With
Set Retrieval = Nothing
GetICP=bstr(GetICP)
End Function


'如果要检查,必须先LoadICP
Function LoadICP(BYWHICH,GIVE)
RetCode=GetICP(BYWHICH,GIVE)
if isNull(RetCode) then
LoadICP=false
else
Call tinyFitler(RetCode)
LoadICP=true
end if
end Function

Function GetNo()
RRsets=Ubound(DataSet_ICP)
if RRsets=0 then
GetNo="ERROR"
end if
if RRsets=1 then
GetNo="NONE"
end if
if RRsets>1 then
GetNo=split(DataSet_ICP(2),"`")(3)
end if
end Function
%>
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐