请教asp小偷问题
时间:2011-07-25
来源:互联网
<%
function getHTTPPage(url)
dim Http
set Http=server.createobject("MSXML2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBSTR(Http.responseBody,"utf-8")
set http=nothing
if err.number<>0 then err.Clear
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
Function GetBody(ConStr,StartStr,OverStr)
Dim ConStrTemp
Dim Start,Over
ConStrTemp=Lcase(ConStr)
StartStr=Lcase(StartStr)
OverStr=Lcase(OverStr)
Start = InStr(1, ConStrTemp, StartStr, vbBinaryCompare)
Over=InStr(Start,ConStrTemp,OverStr,vbBinaryCompare)
GetBody=Mid(ConStr,Start,Over-Start)
End Function
Dim Url,Html,MM
if request("id")="" then
%>
<%
else
Url="http://www.xxx.com/robot/robot.php?op=express&data=yto%20"&request("id")
Html = getHTTPPage(Url)
html=GetBody(html,"<table>","</table>")
response.write html
end if
%>
运行这段代码的时候,request("id")是个偷取远程网站的变量,当这个变量正确的时候可以截取到正确信息(信息截取为<html>...</html>之间的内容),但是当变量错误的时候截取信息里不包含<html>...</html>,而是一行文字(比如您查询的单号不存在,里面没有html代码),问代码该如何写才可以实现request("id")这个单号正确的时候可以截取到<html>...</html>之间的内容,而request("id")这个单号错误的时候也就是无法截取信息的时候提示一句:对不起,单号不存在呢?谢谢各位。
作者: zwx1982000 发布时间: 2011-07-25
Dim Url,Html,MM
if request("id")="" then
%>
对不起,单号不存在
<%
else
Url="http://www.xxx.com/robot/robot.php?op=express&data=yto%20"&request("id")
Html = getHTTPPage(Url)
html=GetBody(html,"<table>","</table>")
response.write html
end if
%>
作者: hongmei85 发布时间: 2011-07-25
<html>
<tr>
<th>时间</th>
<th>跟踪记录</th>
</tr>
</html>
这样我用html=GetBody(html,"<table>","</table>")这一句代码就可以截取到正确的信息。
如果我输入了一个错误的单号后返回的结果是:对不起,您查询的单号不存在。(其中没有html信息)这样的话我用html=GetBody(html,"<table>","</table>")这一句代码就截取不到信息,提示:无效的过程调用或参数: 'InStr' 我的意思是当截取不到信息的时候能不让他出现无效的过程调用或参数: 'InStr'而是提示一句您查询的单号不存在吗?
作者: zwx1982000 发布时间: 2011-07-25
作者: zwx1982000 发布时间: 2011-07-25
作者: zwx1982000 发布时间: 2011-07-25
应该是在这一行后面用instr()判断返回的内容。
作者: tcwsyt 发布时间: 2011-07-25
作者: zwx1982000 发布时间: 2011-07-25
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28